mongodb(+ mongoose)+ node.js中的同步查询

时间:2013-10-25 15:51:36

标签: node.js mongodb mongoose

我有一个猫鼬模式。我想计算与模式对应的集合中的记录。我不想计算所有记录,但记录满足一些标准。如何同步执行此计数?

在mongodb控制台中我可以做`db.mycollections.find(criteria).count()“。如何 从mongoose代码执行此查询?

1 个答案:

答案 0 :(得分:1)

与大多数nodejs模块一样,Mongoose不能用于同步代码执行。这会导致应用程序的所有执行在数据库执行查询时停止运行,这可能需要很长时间。

您可以在模型上调用异步计数功能。

假设您从模式中创建了一个模型,如下所示:

var MyModel = mongoose.model('mySchemaCollection', mySchema);

您可以这样计算:

MyModel.count(criteria, function (err, count) { 
    /* handle count */ 
});

您可以从Mongoose Documentation了解有关计数以及其他类型查询的更多信息。