猫鼬保持文档引用计数

时间:2021-02-18 03:23:25

标签: mongodb mongoose

假设我有两个模型 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

但是如何做这样的事情?

谢谢。

0 个答案:

没有答案