给定名为NamedLists的集合中的文档架构:
{
"name":"FOO",
"items":[
{"primary":4524013,"secondary":9753847},
{"primary":4420220},
{"primary":5317116,"secondary":3838379},
{"primary":4230616},
{"primary":7389755,"secondary":3838576}
]
}
规则:
例如,由于{"primary":4420220}
位于两个不同的项目数组中,因此不允许以下内容。但是,{"primary":4420220, "secondary": 7897897 }
是允许的。
{ "name":"FOO", "items":[
{"primary":4524013,"secondary":9753847},
{"primary":4420220},
{"primary":5317116,"secondary":3838379},
{"primary":4230616},
{"primary":7389755,"secondary":3838576}
]}
{ "name":"BOO", "items":[
{"primary":4420220}
]}
此查询满足规则#2但不满足#3:
db.NamedLists.update({ name: "FOO", { primary: { $ne: 4524013 } },
{ $push: { items: 4524013 } });
是否有办法将$对象的主要值(或整个对象本身)与另一个文档的items数组中的对象不匹配时将新对象推送到给定文档的items数组中?
在SQL中,您可以使用嵌套的SELECT来实现此目的。 MongoDB的?