了解填充猫鼬
Posted
技术标签:
【中文标题】了解填充猫鼬【英文标题】:Understand populate in mongoose 【发布时间】:2021-05-03 03:45:54 【问题描述】:我有名为 Book 和 Author 的集合。一本书可以由几个作者写。所以集合看起来像这样:
Book:
id: objectId,
name: string,
price: number,
authors: [objectId]
Author:
id: objectId,
nameL string
Book集合的作者字段是作者objectId的数组。 当我想获取一些书籍及其作者时,我将获取作者 objectId 数组。然后,对于每个 objectId 元素,我将获取作者。 另一种方法是使用“填充”。但我不知道这种方式是否像关系数据库中的“加入”?它的性能是否比第一种方式更好?
【问题讨论】:
【参考方案1】:我假设您将获得每位作者的一些图书数据。我没有使用populate
(因为populate
在猫鼬中),而是在mongodb中使用$lookup
,它更像是加入关系数据库。这是文档
https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#use-lookup-with-an-array
【讨论】:
$lookup
比 populate
快吗?
我没有尝试在两者之间进行比较,但我在medium 上阅读了这篇文章作为我的答案参考。如果您需要一些精确的性能,我认为您也可以这样做以上是关于了解填充猫鼬的主要内容,如果未能解决你的问题,请参考以下文章