【发布时间】:2022-01-22 22:34:19
【问题描述】:
我有一个字符串数组:
List<String> namesArray = new ArrayList<>()
然后我的 MongoDB 中有以下两个文档:
{
"_id": {
"$oid": "9873hihy9032u49083b98"
},
"type": "A",
"config": {
"names": ["Marc", "Franc"],
}
}
{
"_id": {
"$oid": "803bkjiug34909832u40"
},
"type": "A",
"config": {
"names": ["Max", "Brian", "Marc"],
}
}
我想从每个文档的config.names 数组中删除出现在namesArray 中的所有名称。
例如,如果名称 Marc 包含在数组中,则应将其从两个文档中删除,等等。
我试过这个没有任何运气:
Query query = Query.query(Criteria.where("type").is("A").and("config.names").in(namesArray));
Update update = new Update().pull("config.names", query)
mongo.updateMulti(new Query(), update, Person.class);
【问题讨论】:
标签: spring mongodb spring-boot criteria mongotemplate