我最初创建了我的模型,例如:
var schema = new Schema(){
property1: { type: String },
property2: { type: String }
}
创建时,不包括任何其他属性:
var myDocument = new Schema({ property1: "hello", property2:"test", property3:{prop:"hey"} } });
// myDocument = { property1: "hello", property2:"test" }
但是,当我执行findOneAndUpdate时,额外的字段会保存到数据库中!
Schema.findOneAndUpdate( property1:"hello", { property3:{prop:"hey"} } })
// In the DB: { property1: "hello", property2:"test", property3:{} } }
如何确保不在更新时保存额外字段?
我正在考虑使用预处理对象并删除额外的字段......但我确信有更好的方法。