Как подсчитать курсор агрегации pymongo без итерации
Я хочу получить общее количество записей в агрегированном курсоре в версии pymongo версии 3.0+. Есть ли способ получить общий счет без повторения курсора?
cursor = db.collection.aggregate([{"$match": options},{"$group": {"_id": groupby,"count": {"$sum":1}}} ]) cursorlist = [c for c in cursor] print len(cursorlist)
Есть ли способ пропустить вышеупомянутую итерацию?
- Обновление списка встроенных документов в mongoengine
- MongoDB не так быстро, как MySQL?
- Как использовать sql «like» в PyMongo?
- Использование Mongo Find () с помощью $ in и Regex
- Расшифруйте ошибку, соединяющую экземпляр mongo, размещенный в <project> .meteor.com
Вы можете добавить другой групповой конвейер, в котором вы указываете значение _id
None
для вычисления накопленных значений для всех входных документов в целом, здесь вы можете получить общее количество, а также исходные сгруппированные счета, хотя и в накопленном массиве :
>>> pipeline = [ ... {"$match": options}, ... {"$group": {"_id": groupby, "count": {"$sum":1}}}, ... {"$group": {"_id": None, "total": {"$sum": 1}, "details":{"$push":{"groupby": "$_id", "count": "$count"}}}} ... ] >>> list(db.collection.aggregate(pipeline))
- Python: как прерывать raw_input () в другом потоке
- Python Pandas удаляет подстроку с помощью другого столбца
- Mongod на 100% CPU – Не знаете, как диагностировать?
- Легкий Mongodb ODM / ORM для Python
- Pymongo найти _id в поддокументах
- django.core.exceptions.ImproperlyConfigured: 'django_mongodb_engine' не является доступным бэкэнд базы данных
- Смешивание PostgreSQL и MongoDB (как бэкэндов Django)
- сохранение pymongo встроенных объектов, InvalidDocumentError
- MongoDB Оптимизация FindAndModify или Найти + Сортировать
- Использовать монгольский сервер MongoDB для модульного тестирования
- Библиотека Python bson: получить псевдоним bson