鉴于此文档保存在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)