省略mongoose返回文档

时间:2015-08-27 19:02:47

标签: node.js mongodb mongoose

我想知道如何才能从mongoose.save()操作返回任何内容。

假设我想更新文档,但希望保留架构验证,因此我无法使用Model.update

为什么呢?默认情况下,mongoose返回整个文档,如果这是一个复杂的文档,JSON.parse运行时需要一些时间。我知道.lean(), .select(),但我想知道是否可以省略任何回复。

myModel
  .save()
  .then(function(model) {
    // i want the model to be undefined, null, {} or something like this
  })

1 个答案:

答案 0 :(得分:0)

如果使用mongoose.set('debug', true);启用Mongoose调试日志记录,您将看到save操作作为本机驱动程序update执行,但不会返回更新的文档,因此没有任何内容无论如何解析。

传递给回调的myModel.save只是你调用它的myModel对象。

因此,以下内容将记录true

myModel
  .save()
  .then(function(model) {
    console.log(model === myModel);
  });

所以这不是你需要担心以某种方式禁用。