suchen

Heim  >  Fragen und Antworten  >  Hauptteil

mongodb - mongo 如何更新数组的每个元素 定位符只匹配第一个

现有如下格式的集合

"objectiveQuestions" : [{
      "answer" : "A",
      "index" : 2,
      "isCorrect" : 1,
      "subjectId" : 5967
    }, {
      "subjectId" : 5968,
      "answer" : "A",
      "isCorrect" : 0,
      "index" : 3
    }, ...]

现在要为每个在objectiveQuestions元素添加score字段, 并给初始值2. 请问如何构造update语句呢

迷茫迷茫2761 Tage vor630

Antworte allen(2)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-04-25 09:03:49

    加个 multi: true

    db.collection.update(
       <query>,
       <update>,
       {
         upsert: <boolean>,
         multi: <boolean>,
         writeConcern: <document>
       }
    )
    

    http://docs.mongodb.org/manual/reference/method/db.collection.update/

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-25 09:03:49

    update({},{"$setOnInsert":{'score': 2}}, True, True)

    Antwort
    0
  • StornierenAntwort