我的
mongodb文件是
{
"_id" : {
"coid" : "testcoid",
"cid" : "testcid"
},
"communications" : [
{
"sid" : "testsid",
"campid" : "testcampid"
}
]
}
我想最后添加点击字段并添加多个值
{
"_id" : {
"coid" : "testcoid",
"cid" : "testcid"
},
"communications" : [
{
"sid" : "testsid",
"campid" : "testcampid",
"clicks" : {"www.google.com" , "www.facebook.com"}
}
]
}
我正在使用命令
db.messages.update({$and : [{"_id.coid" : "testcoid"}, {"communications.sid" : "testsid"}]},{ $push : {"communications.$.clicks" : {$each : ["www.google.com" , "www.facebook.com"]}}})
而是给出了这个文件
db.messages.find().pretty()
{
"_id" : {
"coid" : "testcoid",
"cid" : "testcid"
},
"communications" : [
{
"campid" : "testcampid",
"clicks" : [
{
"$each" : [
"www.google1.com",
"www.google2.com"
]
}
],
"sid" : "testsid"
}
]
}
注意:我需要使用push本身而不是pushAll.有没有办法用push来实现它,为什么用$each对象更新它?
最佳答案 您的查询在我的框中工作,
http://pastebin.com/STUjCuMd
你正在使用哪个mongodb版本?