我们假设以下模型(注意strict:false
):
var Test = db.model('Test', {
a: {type: String, required: true},
b: {type: String}
}, {strict: false});
我目前在数据库中有这个文件:
{
'a': 'hello',
'b': 'world',
'c': {
'x': 'embedded',
'z': 'document'
}
}
如果我upsert
以下文件:
doc = {
'a': 'hello',
'b': 'jack'
}
有类似的东西:
Test.findOneAndUpdate({
a: 'hello'
}, doc, {upsert:true}, function(){});
我最终会:
{
'a': 'hello',
'b': 'jack'
}
换句话说,擦除了上传文档中不存在的字段c
。
如何在不擦除此类字段的情况下安全地进行升级?
答案 0 :(得分:0)
奇怪,这应该按原样运作。也许您可以尝试明确设置字段:
RedisMdule