【问题标题】:Performing a non '$set' update with Mongoose使用 Mongoose 执行非“$set”更新
【发布时间】:2013-04-10 17:09:59
【问题描述】:

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

【问题讨论】:

    标签: mongodb mongoose database


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以使用原生驱动程序update 来获取传统行为:

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

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

      【讨论】:

        猜你喜欢
        • 2015-01-12
        • 2012-08-23
        • 2020-07-13
        • 2011-10-01
        • 2021-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-12
        相关资源
        最近更新 更多