2016-12-31 7 views
0

にアレイ内のアレイにそうHERESに私のMongoDBのドキュメントをデータを追加します。はMongoDBの

{ 
"_id" : "", 
"lists" : [ 
    { 
     "name" : "list 1", 
     "items" : [] 
    }, 
    { 
     "name" : "list 2", 
     "items" : [] 
    } 
] 
} 

は、どのように私は、「アイテム」内のオブジェクトを追加するに行きますか?

これは私がこれまで持っているが、それは動作しないコードです:項目を挿入するために、その可能ので、私は、インデックス(「インデックス」と呼ばれる変数)へのアクセス権を持って

xxx.update(_id, {$push: { "lists.$.items": item}}); 

注意など、インデックス、0、1、2 ...、

で私は前にこれを試してみましたが、それは動作しません。

xxx.update({_id, "lists": index}, {$push: { "lists.$.items": item}}); 

私はまた、他の同様の質問を見て、何かを見つけることができませんでした。それらのほとんどは、配列にある種のidフィールドを持っていますが、私はそうではありません。これは失敗するでしょう。もちろん、

xxx.update({_id}, {$push: { "lists.index.items": item}}); 

について何

答えて

0

、私は何を意味することは、おそらく次のようにインデックスに基づいて更新JSONを操作することができ、実際のインデックス値

xxx.update({_id}, {$push: { "lists.2.items": item}}); 

でインデックスを置き換えるです。

それがそのまま動作するのか、さらに微調整する必要があるのか​​わかりませんが、あなたはそのアイデアを得るでしょう。

+0

申し訳ありませんが、私は直接番号を入力することはできません、私は変数を使用する必要があるので、再利用可能です。方法はありますか? – pizzae

+0

私はあなたがあなたの変数に基づいて文字列を準備し、それをJSON.parseを通してjsonとして解析し、そのオブジェクトを使用することを意味しています。 –

+0

javascriptでこれを行う方法はありますか?私も少しの検索を行いましたが、mongoDBの現在の制限のためにこれが不可能だと思っています – pizzae