如何將 mongo 查詢結果轉換為物件當前結果:[{"_id":"61ef7e5497c9912ac1e56404", "name":"Mark","age":20, "isMinor":true}, {"_id":"61ef7e5497c9912ac1e56404", "name":"Sam","age":22, "isMinor":false}]
例外輸出:{"61ef7e5497c9912ac1e56404": {"_id": "61ef7e5497c9912ac1e56404","name": "Mark","age": 20,"isMinor": true},{"61ef7e5497c9912ac1e56404": {"_id":'61ef7e5497c9912ac1e56404',"name": "Sam", "age": 22,"isMinor": false}}}
我想使用聚合查詢本身來做到這一點。我當前的查詢:
Users.aggregate({$addField:{isMinor:{ $cond: [
{ $gt: ['$age', 20] },
true, false,
]}}})
uj5u.com熱心網友回復:
$group- 對檔案進行分組并添加users包含鍵值對(鍵:id,值:檔案)陣列的欄位。此階段將僅回傳一個檔案。$replaceWith- 用指定的檔案替換輸入檔案。此階段將以鍵值對的形式輸出檔案。
db.collection.aggregate([
// Previous stages
{
$group: {
_id: null,
users: {
$push: {
k: "$_id",
v: "$$ROOT"
}
}
}
},
{
"$replaceWith": {
$arrayToObject: "$users"
}
}
])
示例 Mongo Playground
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/420745.html
標籤:
上一篇:“物件”型別上不存在角度屬性
