相关疑难解决方法(0)

如何部分更新MongoDB中的对象,以便新对象与现有对象重叠/合并

鉴于此文档保存在MongoDB中

{
   _id : ...,
   some_key: { 
        param1 : "val1",
        param2 : "val2",
        param3 : "val3"
   }
}
Run Code Online (Sandbox Code Playgroud)

对新信息的对象param2,并param3从外面的世界需要保存

var new_info = {
    param2 : "val2_new",
    param3 : "val3_new"
};
Run Code Online (Sandbox Code Playgroud)

我想在对象的现有状态上合并/覆盖新字段,以便不会删除param1

这样做

db.collection.update(  { _id:...} , { $set: { some_key : new_info  } } 
Run Code Online (Sandbox Code Playgroud)

将导致MongoDB完全按照要求执行,并将some_key设置为该值.取代旧的.

{
   _id : ...,
   some_key: { 
      param2 : "val2_new",
      param3 : "val3_new"
   }
}
Run Code Online (Sandbox Code Playgroud)

MongoDB只更新新字段的方法是什么(没有明确说明它们)?得到这个:

{
   _id : ...,
   some_key: { 
        param1 : "val1",
        param2 : "val2_new",
        param3 : "val3_new"
   } …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-java

157
推荐指数
9
解决办法
16万
查看次数

标签 统计

mongodb ×1

mongodb-java ×1