4
我的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來完成它。有沒有辦法做到這一點推它,爲什麼它用$每個對象更新它?
將有什麼不同,如果你使用$ pushAll,因爲$ pushAll是解決你的目的是什麼? –
它是一個更大的功能的一部分,我不想複製粘貼功能,只是爲了使用pushAll – Rajs123