我的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"
}
]
}
注意:我需要使用推送本身而不是pushAll。有没有办法用push执行它,为什么用$ each对象更新它?