2017-01-15 11 views
0

におけるキーの値の変更:のMongoDB:私はデータの次の構造(簡体字)を持っているネストされた配列

{ 
quiz_id : ObjectId(), 
questions : [{ 
     question : "xyz", 
     options : [{ 
      option_text : "a" 
      }, 
      { 
      option_text : "b" 
      }] 
     }, { 
     question : "pqr", 
     options : [{ 
      option_text : "s" 
      }, 
      { 
      option_text : "t" 
      }] 
     }] 
}   

今、私は、各オプションにanswer_count : 0を追加することで、更新にこれを追加します。 だから、新しいデータ構造は次のとおりです。

{ 
quiz_id : ObjectId(), 
questions : [{ 
     question : "xyz", 
     options : [{ 
      option_text : "a", 
      answer_count : 0 
      }, 
      { 
      option_text : "b", 
      answer_count : 0 
      }] 
     }, { 
     question : "pqr", 
     options : [{ 
      option_text : "s", 
      answer_count : 0 
      }, 
      { 
      option_text : "t", 
      answer_count : 0 
      }] 
     }] 
} 

どのようにMongoDBでこれを行うには?

答えて

0

answer_countを追加してdb.save()を追加すると、すべてのドキュメントを繰り返してドキュメントを更新できます。

db.foo.find().forEach(function(doc){ 
    for(var question of doc.questions) { 
     for (var option of question.options) { 
      option.answer_count = 0; 
     } 
    } 
    db.foo.save(doc); 
}) 
関連する問題