假设我有两个模型 Movie 和 Actor
我已经设置了一个虚拟:
actorSchema.virtual('movies', {
ref: 'Movie',
localField: '_id',
foreignField: 'actors'
})
所有的电影文档都包含一个 actor 字段,它是一个 actor objectId 数组。
现在,如果我想要演员汤姆克鲁斯的所有电影的数量,我会这样做:
Movie.countDocuments({'actor': actor_objectId})
当然这可以完成工作,但是这个查询必须扫描整个集合。一个更好的方法是继续依靠演员文档中引用汤姆克鲁斯的电影数量。
示例:
name: Tom Cruise;
movies: 10;
Height: 1.7m
但是如何做这样的事情?
谢谢。