gpt4 book ai didi

mongodb - 转换对象数组中的字段。 mongodb 聚合

转载 作者:行者123 更新时间:2023-12-04 10:43:58 25 4
gpt4 key购买 nike

我有一个这样的文件:

{
"_id" : ObjectId("5e22a400d4abfae27d173292"),
"bundle_items" : [
{
"id" : "5e201c30d4abfae27d171851"
},
{
"id" : "5e201c3dd4abfae27d171862"
},
{
"id" : "5e201c4e66cb0c3ede4124d5"
}
]
}

我的聚合是:
[
{
$lookup : {
from : 'product',
localField : 'bundle_items.id', // problem is here, i need this field to be ObjectId
foreignField : '_id',
as: 'bundle_items_objects'
}
},{
$project: {
'bundle_total_regular_prices': {
'$sum': '$bundle_items_objects.regular_price'
},
'bundle_items' : 1,
}
}
]

如何在聚合中将 bundle_items.*.id 转换为 ObjectId?

由于某些原因,我无法在数据库上更改它。

最佳答案

您可以在 $lookup 之前添加以下阶段阶段

{
"$addFields": {
"bundle_items": {
"$map": {
"input": "$bundle_items",
"in": {
id: {
"$toObjectId": "$$this.id"
}
}
}
}
}
}

关于mongodb - 转换对象数组中的字段。 mongodb 聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59798138/

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