mongodb group的finalize方法裡怎麼針對查詢結果進一步過濾
怪我咯
怪我咯 2017-04-24 09:13:14
0
1
572

db.TruckUsers.group({
key:{PhoneNumber:true},
initial:{Count:0},
reduce:function(doc,prev)
{
if (!prev.PhoneNumber)
{
prev.PhoneNumber = doc.PhoneNumber;
prev.Count = 1;
}
else if(doc.PhoneNumber == prev.PhoneNumber)
{
prev.Count++;
}
},
finalize:function(doc)
{
for(i in doc.Count)
{
if (doc.Count > 1)
{
doc.NewPhoneNumber = doc.PhoneNumber;
doc.NewCount = doc.Count;
}
}

    delete doc.PhoneNumber;
    delete doc.Count;
}

})

我想只顯示Count>1的記錄,但不知道如何下手,現在的這個結果會把所有的記錄都會顯示出來,如下:

"28" : {},
"29" : {},
"30" : {},
"31" : {},
"32" : {},
"33" : {},
"34" : {},
"35" : {},
"36" : {},
"37" : {},
"38" : {},
"39" : {},
"40" : {},
"41" : {
    "NewPhoneNumber" : "18217039***",
    "NewCount" : 3
},
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(1)
伊谢尔伦

使用aggregate的match屬性可以實作

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板