微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

了解猫鼬中的填充

如何解决了解猫鼬中的填充

我有名为 Book 和 Author 的集合。几位作者可以写一本书。所以集合看起来像这样:

Book: {
id: objectId,name: string,price: number,authors: [objectId]
}

Author: {
id: objectId,nameL string
}

Book collection的author字段是一个author objectId数组。 当我想获取一些书籍及其作者时,我将获取作者 objectId 数组。然后,对于每个 objectId 元素,我将获取作者。 另一种方法是使用“填充”。但我不知道这种方式是否类似于关系数据库中的“加入”?它比第一种方式有更好的性能吗?

解决方法

我假设您将拥有每位作者的一些书籍数据。我没有使用 populate(因为 populate 在 mongoose 中),而是在 mongodb 中使用了 $lookup,它也更像是加入关系数据库。这是文档

https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#use-lookup-with-an-array

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。