我是 mongodb 中的 json。結構如下——
{id:1,name:sample,user:[{data_alias:ex, value:efg}]}
現在我希望在 mongodb 回傳結果后 data_alias 是資料。
當我使用以下查詢時——
db.coll.find({"id":"1"}, {"data": "$user.data_alias","_id": 0,"value":1})
現在它正在重新調整資料,例如——
“用戶”:[{“值”:“efg”,},],“資料”:[“ex”,]
但我希望回傳值應該是——
“用戶”:[{“名稱”:“樣本”,“資料”:“ex”},]
我也試過聚合函式
db.colls.aggregate([
{ $match: {"id":"1"} },
{ "$project": {
"_id": 0,
"data": "$user.data_alias"
}}
]);
兩個查詢都回傳相同的結果。
uj5u.com熱心網友回復:
使用$arrayElemAt訪問陣列的第一個元素。
db.collection.find({
"id": "1"
},
{
_id: 0,
"name": 1,
"data": {
$arrayElemAt: [
"$user.data_alias",
0
]
}
})
這是Mongo 游樂場供您參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/326760.html
標籤:MongoDB
上一篇:根據條件在MongoDB中分組
下一篇:轉換mongo陣列
