使用mongoose .exec有什么好处?

时间:2015-09-29 08:01:30

标签: node.js mongodb

  User.find().exec(function (err, users) {
    if (err){
      callback(err);
    } else {
      callback(users);
    }
  });


  User.find(function (err, users) {
    if (err) {
      callback (err);
    } else {
      callback(users);
    }
  });

使用热门代码有什么好处?两者似乎都运作良好

1 个答案:

答案 0 :(得分:1)

它们是相同的,并且在您的示例中没有任何好处

当你没有传递一个回调来查找函数时它不会执行但是返回一个查询然后你需要使用exec()

var query = User.find();

现在您可以添加更多标准

query.where({age: 15});

还有一些

query.select({name:1}); // or {firstname:1, lastname:1} etc.

现在您已经构建了查询,以便获得执行它所需的结果。

query.exec(function(err, users){

});

但你也可以这样做

User.find({age:15}, {name:1}, function(err, users){

});

以上与

相同
User.find({age:15}, {name:1}).exec(function(err, users){

});

因为在find函数中没有回调它会返回查询,这意味着没有结果,exec会给你结果