Моя коллекция выглядит следующим образом:MongoDB подсчитать количество документов для каждой категории
{
"_id":ObjectId("5744b6cd9c408cea15964d18"),
"uuid":"bbde4bba-062b-4024-9bb0-8b12656afa7e",
"version":1,
"categories":["sport"]
},
{
"_id":ObjectId("5745d2bab047379469e10e27"),
"uuid":"bbde4bba-062b-4024-9bb0-8b12656afa7e",
"version":2,
"categories":["sport", "shopping"]
},
{
"_id":ObjectId("5744b6359c408cea15964d15"),
"uuid":"561c3705-ba6d-432b-98fb-254483fcbefa",
"version":1,
"categories":["politics"]
}
Я хочу, чтобы подсчитать количество документов для каждой категории. Чтобы сделать это, я разматывать категории массив:
db.collection.aggregate(
{$unwind: '$categories'},
{$group: {_id: '$categories', count: {$sum: 1}} }
)
Результат:
{ "_id" : "sport", "count" : 2 }
{ "_id" : "shopping", "count" : 1 }
{ "_id" : "politics", "count" : 1 }
Теперь я хочу, чтобы подсчитать количество документов для каждой категории, но где версия документа является последней версией.
Здесь я застреваю.
Какая последняя версия? 1 или 2? или даже варьируется между документами? Тот же UUID? –
Да, тот же uuid. Последняя версия - 2. – Martin