2016-06-15 18 views
1

私は以下のようなmongodbドキュメントを持っています。MongoDBサブフィールドに新しいフィールドを追加

{ 
    "_id" : ObjectId("57616e718ed5a017089143f2"), 
    "subitems" : { 
     "1" : "a", 
     "2" : "b" 
    } 
} 

「サブアイテム」フィールドに新しいフィールドを追加しようとしました。

db.items.update({ "_id" : ObjectId("57616e718ed5a017089143f2") }, { $set: { subitems: { 3: "c" } } }) 

代わりのフィールドを更新し、そのは

{ 
    "_id" : ObjectId("57616e718ed5a017089143f2"), 
    "subitems" : { 
     "3" : "c" 
    } 
} 

どのように私は、埋め込まれた文書にフィールドを追加するdot notationを使用し

{ 
    "_id" : ObjectId("57616e718ed5a017089143f2"), 
    "subitems" : { 
     "1" : "a", 
     "2" : "b", 
     "3" : "c" 
    } 
} 
+2

ちょうど不思議なことに、フィールドの名前として整数の文字列を使用するのはなぜですか? – styvane

+0

@ user3100115それはちょうどダミーのデータです、元のドキュメントはフィールドの名前として整数の文字列を持っていません – sravis

答えて

1

結果を達成しないようにそれを上書き:

db.items.update(
    { "_id" : ObjectId("57616e718ed5a017089143f2") }, 
    { "$set": { "subitems.3": "c" } } 
) 

投稿者:documentation

関連する問題