私は次の構造を持っています:
{
'name':'something',
'commens':{
'value':'something'
}, {
'value':'something else'
}
}
私の質問は、これらのサブドキュメントを挿入/更新するにはどうすればよいですか?
MongoDB コンソールを使用している場合は、$ 位置演算子を使用して埋め込みドキュメントを更新する必要があります。
db.yourCollection.update({ "_id" : ObjectId("4a33289ae89489"), "commens._id" : ObjectId("32321eae20fc603aee49124") }, { "$set" : { "commens.$.value" : "something else" } })
「コメント」は配列であると想定しています。そうでない場合、投稿した例は有効な JSON/BSON ではありません。配列操作については、http: //docs.mongodb.org/manual/reference/operator/update-array/を参照してください。
更新クエリでのみ、upsert を実行できます。これにより、ドキュメントが存在しない場合に挿入されます。