如何解决如何使用spring mongo从嵌套的文档数组中删除元素
我有以下类型的文档代表 Mongo DB 中的项目:
{
"_id" : "5f69c22b669f2d3b308ce2e2","actions" : [
{
"_id" : "1",...
},{
"_id" :"2",{
"_id" : "n",...
]
}
并且我想通过他们的 actionIds 为项目 projectId 删除指定的操作。
我尝试了下面的代码:
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
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。