猿问

在线等!mongoose 取不到字段求指导!

asyncfunctiongetCommentsCount(ctx){
const{id}=ctx.params;
constdoc=awaitcommentModel.findById(id).select({_id:1}).lean();
letcount=doc.length||0;
for(leti=0;iconstn=awaitcommentModel.countDocuments({commentUID:doc[i]._id});
count+=(n||0);
}
ctx.body={code:0,data:count};
}
我的评论分两种,评论和回复,我想算出评论和回复的总数量。
但是mongoose报错说TypeError:Cannotreadproperty'_id'ofundefined,也就是说doc[i]的值是undefined。
我知道mongoose的文档和JavaScript的对象是有区别的,我也用了lean()方法,但还是不行。
求解惑。
哈士奇WWW
浏览 283回答 2
2回答

九州编程

select()这个方法我没用过,我再文档里也没搜索到。如果要做查询,awaitcommentModel.findById(id).exec();应该就就可以查出来了吧。如果你要统计评论和回复的总数量,可以使用Model.count()
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答