Nodejs - 正常回调vs exec

时间:2017-04-08 10:13:08

标签: mongodb mongoose

过去几天我一直在学习nodejs,我偶然发现了一些我找不到任何好解释的东西。

基本上它与exec对比正常回调,即(err, res) => {},如下所示:

Product.find({}).exec((err, products) => {});

Product.find({}, (err, products) => {});

我发现更多使用exec的示例,但当我读到exec时,我无法理解为什么。他们似乎对我做同样的事情。

所以,我的问题是,我应该使用一个而不是另一个,如果是,为什么?

修改

为了清楚起见,Product是一个MongoDB模型/架构。像这样:

const Product = mongoose.model('Product', new Schema({
  title: {type: String, default: ''},
  description: {type: String, default: ''},
  price: {type: Number, default: ''}
}));

1 个答案:

答案 0 :(得分:3)

请参阅以下答案Mongoose - What does the exec function do?

exec 通常用于执行动态创建的查询。

以下是一个简单的代码,提供了一个可以使用exec的建议。

{
    "M9 Bayonet": [
        "M9 Bayonet | White"
    ],
    "Bayonet": [
        "Bayonet | Golden"
    ]
}