猫鼬填充虚拟计数应该返回满足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
答案 0 :(得分:0)
根据猫鼬的文档(参考https://mongoosejs.com/docs/populate.html#count) 您应该在选项中添加count:true,这会使您的代码像这样:
AuthorSchema.virtual('books', {
ref: 'books',
localField: '_id',
foreignField: 'author_id',
count: true
});