私のmongodbドキュメントは
{
"_id" : {
"coid" : "testcoid",
"cid" : "testcid"
},
"communications" : [
{
"sid" : "testsid",
"campid" : "testcampid"
}
]
}
最後に clicks フィールドを追加して複数の値を追加したい
{
"_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 オブジェクトで更新するのはなぜですか?