gpt4 book ai didi

node.js - Mongoose - find({},cb) 和 find({}).exec(cb) 之间有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:35 25 4
gpt4 key购买 nike

我找到了两种使用 mongoose find() 执行查询的方法,但想知道它们是否不同:

我们什么时候应该使用:

Model.find({},cb)

我们什么时候应该使用:

Model.find({}).exec(cb)

最佳答案

两者都执行查询,然后运行回调。

主要区别在于,第一个返回一个 Query 对象,而第二个返回一个 Promise ,如果您需要 Promise,这很有用。

const query = Model.find({}, cb);

然后您可以使用查询变量。

虽然 promise ...

const promise = Model.find({}).exec();

然后您可以按照 promise 进行操作,例如:

promise.then(cb);
promise.catch((err) => {
console.error(err);
});

但是如果你这样做 Model.find({}).exec(cb); 回调也会在不使用 Promise 的情况下被调用...

希望对你有帮助

关于node.js - Mongoose - find({},cb) 和 find({}).exec(cb) 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35317315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com