如何使用 spring mongo 从嵌套文档数组中删除元素
How to delete elements from nested array of documents with spring mongo
我有以下类型的文档代表 Mongo 数据库中的项目:
{
"_id" : "5f69c22b669f2d3b308ce2e2",
"actions" : [
{
"_id" : "1",
...
},
{
"_id" :"2",
...
},
{
"_id" : "n",
...
},
...
]
}
并且我想通过项目 projectId 的 actionsId 删除指定的操作。
我尝试了下面的代码:
mongoOperation.updateMulti(
Query.query(Criteria.where("id").is(projectId)),
new Update().pull("actions", Query.query(Criteria.where("id").in(actionIds))),
Project.class
);
但它不会删除任何内容。
你能帮帮我吗?
谢谢
我终于知道怎么做了:
DBObject pullUpdate = BasicDBObjectBuilder.start().add(
"id",
BasicDBObjectBuilder.start().add("$in", actionIds).get()
).get();
mongoOperation.updateMulti(
Query.query(Criteria.where("id").is(projectId)),
new Update().pull("actions", pullUpdate),
Project.class
);
我有以下类型的文档代表 Mongo 数据库中的项目:
{
"_id" : "5f69c22b669f2d3b308ce2e2",
"actions" : [
{
"_id" : "1",
...
},
{
"_id" :"2",
...
},
{
"_id" : "n",
...
},
...
]
}
并且我想通过项目 projectId 的 actionsId 删除指定的操作。
我尝试了下面的代码:
mongoOperation.updateMulti(
Query.query(Criteria.where("id").is(projectId)),
new Update().pull("actions", Query.query(Criteria.where("id").in(actionIds))),
Project.class
);
但它不会删除任何内容。
你能帮帮我吗?
谢谢
我终于知道怎么做了:
DBObject pullUpdate = BasicDBObjectBuilder.start().add(
"id",
BasicDBObjectBuilder.start().add("$in", actionIds).get()
).get();
mongoOperation.updateMulti(
Query.query(Criteria.where("id").is(projectId)),
new Update().pull("actions", pullUpdate),
Project.class
);