来自Mongoose doc和count subdocs的.select()

时间:2017-11-05 01:10:06

标签: mongoose

Mongoose集合Question有一个标记为answers: []的子字段字段。我想运行一个返回相关Question字段答案计数的查询。

我目前的查询是:

Question.find()
  .sort({ createdAt: 'desc' })
  .limit(30)
  .select({
    title: 1,
    owner: 1,
    createdAt: 1,
  })
  .populate('owner', 'username')
  .lean()
  .exec((err, questions) => { ... });

我想做这样的事情:

Question.find()
  .sort({ createdAt: 'desc' })
  .limit(30)
  .select({
    title: 1,
    owner: 1,
    createdAt: 1,
    answerCount: answers.length, // give me number of subdocs
  })
  .populate('owner', 'username')
  .lean()
  .exec((err, questions) => { ... });

有没有办法获得子网的计数而不返回完整的子网数组(它们很大)而不运行第二个查询

不是this question asking how to count the number of items in an array的副本,因为我不想完全返回子文件。

0 个答案:

没有答案