跳到主要内容
CNode

如何用mongoose直接查询数据中的数量(做统计)

问答
Vvarjay发布于 10 年前最后回复 10 年前
10190280

1.png

如上图中,想要获取object的数量,上面那条数据是通过如下代码得到的。

Category .find({_id: catId}) .populate({ path: 'movies', select: 'title poster' }) .exec(function(err,result){ console.log(result) })

查看回复

回复 (10)

T
TimothyJin#1010 年前

@varjay 如果影响性能,那岂不是你自己设计的库不合理?如果movies有几十万的数据,你放一个collection的field下,明显是数据库的设计问题

V
varjay#910 年前
引用 Qiubaowei直接.length不可以吗

@Qiubaowei 那不是把整个数据都取出来了吗,会不会影响性能

Q
Qiubaowei#810 年前

直接.length不可以吗

G
gyteng#710 年前

用aggregate吧,各种查询需求都能满足

S
SinalVee#610 年前
引用 varjay@2linziyi2 @SinalVee 可是count得到的是这条数据的数量啊,就是符合catId的数量,不是movie中的数组长度,该怎么办

@varjay movie不是关联的movieModel吗,Category.find({_id: catId}).populate('movie')拿到的movie数组不就是movie中catId是catId的数组吗

V
varjay#510 年前
引用 2linziyi2count

@2linziyi2 @SinalVee 可是count得到的是这条数据的数量啊,就是符合catId的数量,不是movie中的数组长度,该怎么办

V
varjay#410 年前
引用 SinalVee这个还是直接Move.count({ catId: catId })比较好

@SinalVee 可是count得到的是这条数据的数量啊,就是符合catId的数量,不是movie中的数组长度,该怎么办

2
2linziyi2#310 年前

count

S
SinalVee#210 年前

这个还是直接Move.count({ catId: catId })比较好

B
baka397#110 年前

查询总数量用 http://mongoosejs.com/docs/api.html#model_Model.count

你标红部分直接用.length获取不就行么

参与回复

登录后即可参与回复。登录