我有一个猫鼬模式。我想计算与架构相对应的集合中的记录。我不想计算所有记录,而是满足某些条件的记录。如何同步执行这个计数?
在 mongodb 控制台中,我可以执行“db.mycollections.find(criteria).count()”。如何从 mongoose 代码执行此查询?
Mongoose 与大多数 nodejs 模块一样,并非旨在用于同步代码执行。这将导致所有应用程序的执行在数据库执行查询时停止,这可能会很长时间。
您可以在模型上调用一个异步计数函数。
假设您从您的模式中制作了一个模型,如下所示:
var MyModel = mongoose.model('mySchemaCollection', mySchema);
你可以像这样得到计数:
MyModel.count(criteria, function (err, count) {
/* handle count */
});
您可以从Mongoose 文档中阅读有关计数以及其他类型查询的更多信息。