2017-02-01 7 views
1

マイドキュメント例は次のように示されている:「キー1」は私の動的なキーになりダイナミックキーを使用して辞書に追加するにはどうすればよいですか?

{ 
    id:"some objid", 
    name: "name", 
    revision: "rev", 
    data:{ 
     key1 : [ 
      { 
       name: "some name", 
       comment: "some comment" 
      }, 
      { 
       name: "some name2", 
       comment: "some comment" 
      } 
     ] 
    } 
} 

var data={}; 
data[newKey]=arrayOfObjects; 

collection.update({name:"name", revision:"rev"},{$set:{data}},{upsert:true}, function(err, data){ 
//code here... 
} 

私はこの方法でクエリを実行すると、辞書にdata.newKeyを追加するだろうと考えていたが、しかし、それだけで全体の辞書を上書き:クエリは次のようになります。どんな助けでも感謝します、ありがとう。

答えて

0

は、動的なキーとサブドキュメントを作成するために

var data = {}; 
data["data."+newKey] = arrayOfObjects; 

collection.update(
    { name: "name" }, 
    { $set: data }, 
    { upsert: true }, 
    function (err, data) { 
     if (err) throw err; 
     console.log(data); 
    } 
) 
+0

ダンのようなものをdot notationを使用して、私はすでにこれを試してみました宣誓かもしれません。それは今働いているようだ。助けてくれてありがとう! – ComputerRobot

関連する問題