账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mongodb 删除关联属性集合
    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等,来处理嵌套查询。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部