我想在嵌套数组中添加另一个元素但是在执行句子时没有找到任何巧合
句子如下:
db.classroom.update({
_id:ObjectId("56a1276741c1375cd4e90b86"),
"code.user":{$ne:DBRef("user", 201309)}
},{
$push:{
"code.$.user":{ $ref: "user", $id: 201308 }
}
})
收集
{
"_id" : ObjectId("56a1276741c1375cd4e90b86"),
"name" : "Desarrollo de Software",
"comment" : "Salon destinado al Desarollo de Software",
"code" : [
{
"code" : "ABCDEF123456",
"user" : [
DBRef("user", 201309)
]
}
]
}
答案 0 :(得分:0)
如果我正确阅读您的查询,则查找是互斥的。你在哪里搜索
{_id:ObjectId("56a1276741c1375cd4e90b86")}
和
{"code.user":{$ne:DBRef("user", 201309)}}
$ne
含义NOT EQUALS(!=
)和您显示的文档说明了该对象,该_id只有您明确不想要的DBRef值。
我怀疑只是删除第二个条款会让你更进一步:
db.classroom.update({
_id:ObjectId("56a1276741c1375cd4e90b86")},
{$push:{"code.$.user":{ $ref:"user", $id: 201308 }}})
答案 1 :(得分:0)
试试这个
db.classroom.update({
_id:ObjectId("56a1276741c1375cd4e90b86")},
{$push:{"code.$.user":{$each:{$ref:"user", $id: 201308 }}}})