之后聚合在mongodb我得到這個結果:
[
my_arr:[
{
id: ObjectId('618f7ef057c2923be10d1111')
//other stuff
},
{},
{},
]
]
有沒有辦法直接在聚合中洗掉空物件?或者有必要在服務器端做嗎?在放松和一組之后我明白了。
uj5u.com熱心網友回復:
您可以添加一個新的聚合階段($project,$set或$addFields),$filter如下所示:
{
"$project": {
"my_arr": {
"$filter": {
"input": "$my_arr",
"as": "a",
"cond": {
"$ne": [
"$$a",
{}
]
}
}
}
}
}
此過濾器僅將物件放入陣列中,其中物件本身不為空(即不是{})
示例在這里
還有$set 示例和$addFields 示例
此外,您可以使用$$this參考物件而不是來自 的值as。示例在這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/367806.html
標籤:javascript MongoDB mongodb-查询
