У меня есть документы с полем массива, и мне нужно суммировать размеры этого массива по всем документам. Я использую python -> PyMongo.Лучший способ суммировать размеры массива в mongoDB
В двух словах, применяя вышеупомянутый запрос к этому набору документов должен возвращать 6:
{_id: a, array: [a,b]}
{_id: b, array: [c, d, e]}
{_id: c, array: [f]}
Поиск по Интернету, я придумал следующее решение:
value = collection.aggregate([{"$unwind": "$array"}, {"$group": {"_id": "null", "total": {"$sum": 1}}}])
Он работает, и я получаю номер, который я хочу, следующим образом:
count = value['result'][0]['total']
Является ли это лучшим запрос, который я могу сделать? Есть ли более эффективный способ?
Я не особо разбираюсь в структуре агрегации mongo, поэтому я подумал, что лучше спросить.
Да, это лучший способ по моему мнению. –