gpt4 book ai didi

mongodb - 合并MongoDB中同一集合中的两个文档

转载 作者:行者123 更新时间:2023-12-04 09:01:11 24 4
gpt4 key购买 nike

我一直在尝试合并名为 Cities 的集合中的一些重复文档。
考虑以下:

{
"_id": 1,
"Name": "Santa Monica",
"State": "California"
},
{
"_id": {"$oid":"5ec5fcc993ce00388429278a"},
"Name": "Santa Monica",
"State": "California",
"TimeZone": "UTC−8",
"Population": 90401,
"State": "California"
}
第二个条目确实包含更多信息,例如时区和人口。
我只想将两者合并到一个对象中,保留第一个 _id像这样:
{
"_id": 1
"Name": "Santa Monica",
"State": "California",
"TimeZone": "UTC−8",
"Population": 90401,
"State": "California"
}
我知道我必须使用聚合,但不知道如何使用。该文档缺乏如何在同一集合中执行此操作的清晰示例。
提前致谢。

最佳答案

您需要按 Name 对文档进行分组和 State字段并合并它们。
试试这个:

db.Cities.aggregate([
{
$group: {
_id: {
"Name": "$Name",
"State": "$State"
},
data: {
$push: "$$ROOT"
}
}
},
{
"$replaceWith": {
"$mergeObjects": {
"$reverseArray": "$data"
}
}
}
])
MongoPlayground
注: $reverseArray允许翻转分组数组

关于mongodb - 合并MongoDB中同一集合中的两个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63555856/

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