首页 > 解决方案 > 在 JSON 文档中插入新的键值

问题描述

我有一个像这样的Json文件..

{
"Name":"SSS",
"Condition":"good",
"Flows":[
         {
          "Date":"2018-07-13",
          "Formulae":{
                       "less":"4",
                       "more":"5"
                      }
         },
         {
          "Date":"2018-07-14",
          "Formulae":{
                      "team":"4",
                       "nature":"3"
                      }
          }
   ]
}

我想根据 "Name":"SSS", "Date":"2018-07-13 在文档内的 "more":"5" 之后插入新的 key,value("flat":"4") ”。我想要的输出是

"name":sss",
"condition":"good",
"flows":[
         {
          "Date":"2018-07-13",
          "Formulae":{
                       "less":"4",
                       "more":"5",
                       "flat":"4" 
                      } 
          },
         {
          "Date":"2018-07-14",
          "Formulae":{
                      "team":"4",
                       "nature":"3"
                      }
          },
]
}

标签: javamongodb

解决方案


试试这个 mongo 命令,在 java 中翻译:

db['01'].update(
  {"Name":"SSS","Flows":{$elemMatch:{Date:"2018-07-13"}}},
  {$set:{"Flows.$.Formulae.flat":4}}
)

推荐阅读