Mongoose文档指出,任何模型更新都是使用'$ set'自动发送的:
var query = { name: 'borne' };
Model.update(query, { name: 'jason borne' }, options, callback)
// is sent as
Model.update(query, { $set: { name: 'jason borne' }}, options, callback)
但我想执行传统的Mongo更新,实际上,使用提供的值重置文档。但我似乎无法使用Mongoose找到任何简单的方法。有任何想法吗?
答案 0 :(得分:1)
您可以使用本机驱动程序update
来获取传统行为:
Model.collection.update.update(query, {name: 'jason borne'}, options, callback);
请记住,执行此操作时,不会执行Mongoose基于架构的类型转换。
答案 1 :(得分:1)
您可以使用覆盖选项。它在文档中提到 - http://mongoosejs.com/docs/api.html#update_update