Я столкнулся с проблемой, связанной с агрегацией.
Я запускаю эту агрегацию:
db.Metriques.aggregate([
{
"$match":{
"application":"RDOCUI"
}
},
{
"$project":{
"uploadedRefs":1,
"uploadedKb":1,
"downloadedRefs":1,
"downloadedKb":1,
"year":{
"$year":"$timestamp"
},
"month":{
"$month":"$timestamp"
},
"day":{
"$dayOfMonth":"$timestamp"
}
}
},
{
"$group":{
"_id":{
"year":"$year",
"month":"$month",
"day":"$day"
},
"up-refs":{
"$sum":"$uploadedRefs"
},
"up-kbs":{
"$sum":"$uploadedKb"
},
"down-refs":{
"$sum":"$downloadedRefs"
},
"down-kbs":{
"$sum":"$downloadedKb"
}
}
}
]);
Результат:
{
"_id":{
"year":2018,
"month":12,
"day":20
},
"up-refs":NumberLong(0),
"up-kbs":NumberLong(0),
"down-refs":0,
"down-kbs":NumberLong(526)
}{
"_id":{
"year":2018,
"month":12,
"day":18
},
"up-refs":NumberLong(6),
"up-kbs":NumberLong(3156),
"down-refs":0,
"down-kbs":NumberLong(7890)
}{
"_id":{
"year":2018,
"month":12,
"day":12
},
"up-refs":NumberLong(0),
"up-kbs":NumberLong(0),
"down-refs":0,
"down-kbs":NumberLong(1299972)
}{
"_id":{
"year":2018,
"month":11,
"day":14
},
"up-refs":NumberLong(1),
"up-kbs":NumberLong(94478),
"down-refs":0,
"down-kbs":NumberLong(0)
}{
"_id":{
"year":2018,
"month":12,
"day":10
},
"up-refs":NumberLong(0),
"up-kbs":NumberLong(0),
"down-refs":0,
"down-kbs":NumberLong(0)
}{
"_id":{
"year":2018,
"month":12,
"day":11
},
"up-refs":NumberLong(5),
"up-kbs":NumberLong(101468883),
"down-refs":0,
"down-kbs":NumberLong(1722138580)
}{
"_id":{
"year":2018,
"month":12,
"day":4
},
"up-refs":NumberLong(1),
"up-kbs":NumberLong(94478),
"down-refs":0,
"down-kbs":NumberLong(47805868)
}
Послечто я добавил этот этап сопоставления при агрегации:
{
"$match":{
"$or":[
{
"up-refs":{
"$gte":{
"$numberLong":"1"
}
}
},
{
"up-kbs":{
"$gte":{
"$numberLong":"10"
}
}
}
]
}
}
Тем не менее, результат пустой.
Полная агрегация:
db.Metriques.aggregate([
{
"$match":{
"application":"RDOCUI"
}
},
{
"$project":{
"uploadedRefs":1,
"uploadedKb":1,
"downloadedRefs":1,
"downloadedKb":1,
"year":{
"$year":"$timestamp"
},
"month":{
"$month":"$timestamp"
},
"day":{
"$dayOfMonth":"$timestamp"
}
}
},
{
"$group":{
"_id":{
"year":"$year",
"month":"$month",
"day":"$day"
},
"up-refs":{
"$sum":"$uploadedRefs"
},
"up-kbs":{
"$sum":"$uploadedKb"
},
"down-refs":{
"$sum":"$downloadedRefs"
},
"down-kbs":{
"$sum":"$downloadedKb"
}
}
},
{
"$match":{
"$or":[
{
"up-refs":{
"$gte":{
"$numberLong":"1"
}
}
},
{
"up-kbs":{
"$gte":{
"$numberLong":"10"
}
}
}
]
}
}
]);