使用 mongodb,我想在 aa 檔案中轉換一個陣列,如下所示:
{activities: [{"start": start_date, "end": end_date, value:"4332A"}]}
進入一個物件,像這樣(只將值欄位投影為“活動”的值):
{activities: "4332A"}
我曾嘗試在 $project 階段使用 $arrayToObject,但結果并不是我真正想要的:
db.companies.aggregate([{
$project: {
$map: {
'input': '$activities',
'as': 'item',
'in': {
'k': 'activities',
'v': '$$item.value'
}
}
}
])
輸出是:
{"activities": {"activities": "4332A"}}
uj5u.com熱心網友回復:
假設陣列中總是只有一個結果(如您所說),您可以只使用arrayElemAt,如下所示:
db.collection.aggregate([
{
$addFields: {
activities: {
"$arrayElemAt": [
"$activities.value",
0
]
}
}
}
])
蒙戈游樂場
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/389743.html
