2017-02-02 9 views
0

このコードは動作していますが、$ pushクエリフィールドがこのようなdynaminになる必要があります generalrecommendations [req.body.term] .types.apps助けてください。.immediate.types.appsを動的テキストに変更する方法

 "generalrecommendations" : { 
      "immediate" : { 
       "types" : { 
        "apps" : [ 
         "1" 
        ] 
       } 
      } 
     } 

    and here is my code: 




db.collection('colleges').update(
    { '_id': new ObjectId(req.body.college) }, 
{ 
    $push:{ "generalrecommendations.immediate.types.apps": temp2[key1][i] } 

}, function (err, result) { 
}) 

はIDを検索し、配列をexixtingに新しい項目を追加: はここに私のMongoDBデータベースです。ここでは即値はハードコードされていますが、このreq.body.termのように動的に変更する必要があります。

答えて

1

クエリフィールドを動的にするには、クエリフィールドを入力する際に​​[]演算子を使用する必要があります。あなたの言うことができます

req.body.term = immediate;

その後、代わりに

$push:{ "generalrecommendations.immediate.types.apps": temp2[key1][i] }

使用

$push:{ ["generalrecommendations"+ req.body.term +"types.apps"]: temp2[key1][i] }

あなたのクエリフィールドに[]追加すると、それがダイナミックになります。

関連する問題