如上图中,想要获取object的数量,上面那条数据是通过如下代码得到的。
Category .find({_id: catId}) .populate({ path: 'movies', select: 'title poster' }) .exec(function(err,result){ console.log(result) })
如上图中,想要获取object的数量,上面那条数据是通过如下代码得到的。
Category .find({_id: catId}) .populate({ path: 'movies', select: 'title poster' }) .exec(function(err,result){ console.log(result) })
@varjay 如果影响性能,那岂不是你自己设计的库不合理?如果movies有几十万的数据,你放一个collection的field下,明显是数据库的设计问题
直接.length不可以吗
用aggregate吧,各种查询需求都能满足
@varjay movie不是关联的movieModel吗,Category.find({_id: catId}).populate('movie')拿到的movie数组不就是movie中catId是catId的数组吗
@SinalVee 可是count得到的是这条数据的数量啊,就是符合catId的数量,不是movie中的数组长度,该怎么办
count
这个还是直接Move.count({ catId: catId })比较好
查询总数量用 http://mongoosejs.com/docs/api.html#model_Model.count
你标红部分直接用.length获取不就行么