2

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 做到这一点。有任何想法吗?

4

2 回答 2

1

您可以使用本机驱动程序update来获得传统行为:

Model.collection.update.update(query, {name: 'jason borne'}, options, callback);

请记住,当您执行此操作时,不会执行任何基于模式的 Mongoose 类型转换。

于 2013-04-17T20:01:24.647 回答
1

您可以使用覆盖选项。它在文档中提到 - http://mongoosejs.com/docs/api.html#update_update

来自猫鼬文档的覆盖选项

于 2018-06-01T05:30:03.093 回答