我有一個records包含數千個檔案的集合,如下所示:
{ "_id" : ObjectId("5ee1e209e07f053f990cea8c"), "key" : "TAKwGc6Jr4i8Z487", "createdAt" : ISODate("2017-01-28T01:22:14.398Z"), "counts" : [ 150, 160 ], "value" : "Doc1" }
{ "_id" : ObjectId("5ee1e8dee07f053f990ceaa1"), "key" : "TAKwGc6Jr4i8Z487", "createdAt" : ISODate("2017-01-28T01:22:14.398Z"), "counts" : [ 170 ], "value" : "Doc2" }
...
我想撰寫一個查詢來按日期范圍和counts陣列欄位中的元素總數選擇它們。
我還沒有設法找到任何資源。在這種情況下,是否應該使用聚合?
喜歡$sum什么?
{$and:[
{createdAt:{$gte:ISODate('2016-01-30'),$lt:ISODate('2016-02-01')}},
{<sum> ???}
]}
uj5u.com熱心網友回復:
您可以添加一個欄位來計算countsusing 的總和$addFields,然后使用$match來比較總和,最后在回傳 using 之前洗掉該臨時欄位$unset。
這是您示例的游樂場。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/385498.html
