gpt4 book ai didi

mongodb - 将 2 个对象分组为 1 个对象并合并键

转载 作者:可可西里 更新时间:2023-11-01 10:00:07 25 4
gpt4 key购买 nike

我正在尝试将我的 MongoDB 文档中的 2 个对象分组为一个对象,并合并键。我拥有的是:

{
"_id": ObjectId("..."),
"object_a": { "keyA": 1, "keyB": "valueB" }
"object_b": { "keyC": 2 }
}

我尝试得到的是:

{
"_id": ObjectId("..."),
"object_a": { "keyA": 1, "keyB": "valueB", "keyC": 2 }
}
  • 我可以断言没有 key 冲突
  • 我事先不知道键名

我尝试使用 $addFields 运算符,但这会将 object_b 嵌套在 object_a 中,而不是合并键。

{
"$addFields":
{
"object_a": "$object_b"
}
}

换句话说,我正在寻找一个 $setUnion 但对象。

最佳答案

您可以使用 $mergeObjects在 3.6。

{"$addFields":{"object_a": {"$mergeObjects": ["$object_a", "$object_b"]}}} 

对于 3.4,您可以使用 $arrayToObject$objectToArray合并 key 。

{"$addFields":{"object_a": { "$arrayToObject": {"$setUnion": [{"$objectToArray": "$object_a"},{"$objectToArray": "$object_b"}]}}}}

关于mongodb - 将 2 个对象分组为 1 个对象并合并键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47815708/

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