gpt4 book ai didi

node.js - 从另一个基于 _id 的集合中获取信息并合并 - MongoDB

转载 作者:行者123 更新时间:2023-12-01 22:40:07 24 4
gpt4 key购买 nike

我有两个收藏。让我们称一个为 baskets,另一个为 fruits

baskets 中,我们有以下文档:

[{
basket_name: "John's Basket",
items_in_basket: [
{
fruit_id: 1,
comment: "Delicious!"
},
{
fruit_id: 2,
comment: "I did not like this"
}
]
}]

fruits 中,我们有以下文件:

[{
_id: 1,
fruit_name: "Strawberry",
color: "Red"
},
{
_id: 2,
fruit_name: "Watermelon",
color: "Green"
}]

如何获取有关John's Basket 中每种水果的信息?

结果应该是这样的:

[{
fruit_id: 1,
comment: "Delicious!",
fruit_name: "Strawberry",
color: "Red"
},
{
fruit_id: 2,
comment: "I did not like this",
fruit_name: "Watermelon",
color: "Green"
}]

最佳答案

MongoDB 中没有“连接”。您可以:

  • 考虑使用 MapReduce 函数创建包含合并数据的新结构
  • 编写必要的代码来按需获取每个fruit 实例,并将其与basket 文档合并到您的客户端代码中。
  • 对数据进行非规范化,并将每个水果的详细信息包含在 basket 文档中。这带来了它自己的一系列问题,因为数据是重复的,然后需要对集合中的每个用途进行对特定 fruit 的更新。

两者各有优缺点。

您可能会发现这个 Q/A有帮助,还有this MongoDB 文档。

关于node.js - 从另一个基于 _id 的集合中获取信息并合并 - MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15881854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com