猫鼬填充虚拟选项计数返回整个文档的计数

时间:2019-02-04 13:23:43

标签: node.js mongoose

猫鼬填充虚拟计数应该返回满足ref,localField和foreignField的文档总数。但是,当我使用它时,它将返回忽略ref,localField和foreignField的文档总数。

我使用了不带count选项的它,它正确地返回了满足ref,localField和foreignField的文档数。 但是当我包含count时,它返回忽略它们的文档总数。

AuthorSchema.virtual('books', {
  ref: 'books',
  localField: '_id',
  foreignField: 'author_id'
});

返回     books_count:[      {       名称:“狐狸的梦”,       日期:“ 2019-01-13T00:44:22.564Z”      }     ]

但是

AuthorSchema.virtual('books_count', {
 ref: 'books',
 localField: '_id',
 foreignField: 'author_id'
});

返回4个图书,即总藏书量

但是我期望1,因为1满足ref,localField和foreignField

1 个答案:

答案 0 :(得分:0)

根据猫鼬的文档(参考https://mongoosejs.com/docs/populate.html#count) 您应该在选项中添加count:true,这会使您的代码像这样:

AuthorSchema.virtual('books', {
  ref: 'books',
  localField: '_id',
  foreignField: 'author_id',
  count: true
});