0

私はこのような構造を持っています

{

  "name":"xxxxxx",

  "list":[
           {

             "listname":"XXXXX1",
              "card":[
                       {
                         "title":"xxxxxx",
                         "descip":"xxxxxxxxxx",
                         "id":"1213"
                       },
                       {
                         "title":"xxxxxx",
                         "descip":"xxxxxxxxxx",
                         "id":"1214"
                       }

              ] 

           }, 
           {
              "listname":"xxxxxx2",
              "card":[
                       {
                          "title":"xxxxxx",
                          "descip":"xxxxxxxxxx",
                          "id":"1345",
                       },
                       {
                          "title":"xxxxxx",
                          "descip":"xxxxxxxxxx",
                          "id":"1346",
                      }

              ]

           }


   ]

}

ここで、listname は list 配列で一意であり、id は card 配列で一意です。

カード配列の特定のドキュメントに、余分な 2 つのキーと値のペアを挿入したいと考えています。例では、ID 番号 1213 に追加のキー値を追加したいと考えています。

出力は次のようになります

              "card":[
                       {
                          "title":"xxxxxx",
                          "descip":"xxxxxxxxxx",
                          "id":"1213",
                          "name":"XXXXxx",
                           "age":"xxxx"
                       },
                       {
                          "title":"xxxxxx",
                          "descip":"xxxxxxxxxx",
                          "id":"1214",
                      }

                   ]

更新する方法は?

4

1 に答える 1

0

mongodb位置演算子を試してください。

クエリは list.$.id = 123 のようになります

于 2013-07-19T12:30:23.830 に答える