2

私は次のjson構造を持っています:

{
  "_id" : ObjectId("5203af83396d285ea2ecff8f"),
  "brand" : "LG",
  "comments" : [{
      "user_id" : ObjectId("521b2785eda03d0f9cab3566"),
      "text" : "Nice TV"
    }],
  "model" : "47LS5600",
  "price" : 499.0,
  "thumbnail" : "lg-47LS5600"
}

次のように、配列「comments」に新しいフィールド「datetime」を挿入する必要があります。

{
  "_id" : ObjectId("5203af83396d285ea2ecff8f"),
  "brand" : "LG",
  "comments" : [{
      "user_id" : ObjectId("521b2785eda03d0f9cab3566"),
      "text" : "Nice TV",
      "datetime": <value>
    }],
  "model" : "47LS5600",
  "price" : 499.0,
  "thumbnail" : "lg-47LS5600"
}

私は以下の指示で試しました:

db.tvs.update({ _id: ObjectId("5203af83396d285ea2ecff8f") }, { $addToSet: { "comments.1": { "datetime": Date() } } } )

ただし、アイテムにフィールドを挿入するのではなく、そのアイテムとは別の別のオブジェクトを作成します

4

1 に答える 1

1

リンクをチェックしてください:

http://www.mongodb.org/display/DOCS/Updating#Updating-The%24positionaloperator

ドキュメントの変更: http://docs.mongodb.org/manual/tutorial/modify-documents

このコードをチェックしてください。

db.bios.update(
   { _id: 3 },
   { $set: {
             mbranch: 'Navy',
             'name.aka': 'Amazing Grace'
           }
   }
)
于 2013-09-02T11:24:19.503 に答える