我的 MongoDB 集合中有一個包含陣列陣列的檔案。
{
"platformId":"CMC_123",
"carInfo":[
["Toyota",20,"White"],
["Suzuki",19,"Gray"],
["Ford",22,"Red"]
]
}
我期待以下輸出
carMilage :{
"Toyota":20,
"Suzuki":19,
"Ford":22
}
我的聚合如下
[
{
$match:{
platformId : "CMC_123"
}
},
{
$project:{
carMilage : '$carInfo'
}
}
]
我被這個$project領域困住了。如何使用$project欄位實作上述輸出。謝謝你。
uj5u.com熱心網友回復:
$project-2.1
$arrayToObject- 將陣列轉換為物件,結果為2.1.1。2.1.1
$map- 迭代carInfo陣列。獲取當前迭代陣列 ( ) 的第一項k和第二項。v$$this
db.collection.aggregate([
{
$match: {
platformId: "CMC_123"
}
},
{
$project: {
carMilage: {
"$arrayToObject": {
$map: {
input: "$carInfo",
in: {
k: {
$arrayElemAt: [
"$$this",
0
]
},
v: {
$arrayElemAt: [
"$$this",
1
]
}
}
}
}
}
}
}
])
示例 Mongo Playgound
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/474006.html
下一篇:陣列內的MongoDB查詢
