我正在尝试使用该lean()选项以加快查询速度.但是当它添加到这样的查询时:
Pets.aggregate({ $match: { 'Name': 'Floofkins', 'lastMealDate': {$gt: today}}}, function (err, pets){
if (err) {
res.status(500).json({'error': err});
console.log('Could not fetch pets: ' + err);
return;
}
petsHadMealsToday = pets.length;
}).lean();
Run Code Online (Sandbox Code Playgroud)
我得到的是TypeError: Cannot read property 'lean' of undefined虽然pets.length收益宠物匹配查询的数量.
如果我删除该match选项并运行如下所示的内容,它就像一个魅力.
Pets.aggregate({ 'Name': 'Floofkins', 'lastMealDate': {$gt: today}}, function (err, pets){
if (err) {
res.status(500).json({'error': err});
console.log('Could not fetch pets: ' + err);
return;
}
petsHadMealsToday = pets.length;
}).lean();
Run Code Online (Sandbox Code Playgroud)
我想我错过了一些关于如何使用的基本观点match,所以请随时教育我!
Shu*_*ham 10
无需精益管道输出.聚合输出已经很精简了,也使用了mongoose http://mongoosejs.com/docs/api.html#model_Model.aggregate
因为聚合管道的输出不是mongoose文件