mongoose:Query#exec的目的是什么?
Mongoose的Query#exec方法表示它执行查询并返回一个Promise对象。 我不明白的是为什么这是必需的,因为已经有一个查询#然后方法。
具体例子:
考虑一些简单的模型
var Foo = mongoose.model("Foo", {name: String});
会有什么区别?
Foo.find().then( function(res){ /* .. */ }, function(err) { /* .. */ } );
和
Foo.find().exec().then( function(res){ /* .. */ }, function(err) { /* .. */ } );
两者都似乎正常工作。
query.exec(function(err, result))
永远存在mongoose中。 它允许传递callback,并在新版本的mongoose也返回一个承诺。 很多代码(旧的和新的)仍然使用callback,所以这可能比.then()
更常用。
then()
方法在后来被引入,当mongoose被promisified – 但旧的代码不应该被破坏,所以exec()
将永远留下我猜。
- Mongo Atlas:连接身份validation失败,自定义数据库
- 尝试使用带有GUID的C#持久化mongodb来读取nodejs中的数据
- mongoosefindOneAndUpdate和upsert返回没有错误,没有文件的影响
- 有没有人用过Mongoose-auth? 你如何搭配findOrCreateUsers?
- 你如何find使用MongoDB节点驱动程序的ID?
- 服务器上的正确variables通过socket.io作为不正确的variables传递给客户端
- 基于recursion目录的callback – Node.js
- Mongoose的collection.insert continueOnError,插入的文件没有通过callback
- mongooseunit testing