- 49
- 0
我在mongodb中定义了2个集合。这里假设为集合A,集合B。
集合A关联了集合B。 spring中使用的是@DBRef注解。在集合A中表现为 Array
其中集合B有频繁变动(增加,删除,更新)的可能,集合A有频繁的查询操作。
现在我要删除集合B中的文档。因为,集合A关联了集合B。按理说,集合A中所关联的文档也要删除。
我目前的做法是简单的删除集合B中的文档。
最准确的做法应该是同时删除A中关联B的文档和集合B中的文档。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
年华消逝淡忘 普通会员 1楼
在MongoDB中,你可以使用
$pull操作符来删除关联属性集合。这个操作符的语法是$pull,它会从集合中删除指定属性的非空值。例如,如果你有一个文档,其中有一个名为
friends的集合,其中包含一个名为name的属性,你想要删除所有name属性的值为John的文档,你可以使用以下代码:javascript db.collection.removeMany({ $pull: { name: { $in: ['John'] } } });在这个例子中,
$pull操作符会从collection中删除所有name属性的值为John的文档。注意,
$pull操作符只删除满足特定条件的文档,它不会删除所有满足条件的文档。如果你想要删除所有满足条件的文档,你需要使用$all操作符,例如db.collection.removeMany({ $all: { name: ['John'] } })。此外,
$pull操作符不适用于集合中嵌套的查询,你必须使用其他方法,如$match或$group等,来处理嵌套查询。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
