Мои документы хранятся в формате sysstat.host.statistics.timestamp[].cpu-load-all.cpu[].usr
, где timestamp
- массив из 30 элементов, а cpu
- массив элементов 1-64.Как получить доступ к глубоко вложенным полям в pymongo?
Если я захватить timestamp
поле,
timestampCursor = HOST_USAGE.find(
{'sysstat.host.nodename': host},
{'sysstat.host.statistics.timestamp': 1})
Как я могу получить доступ sysstat.host.statistics.timestamp[*].cpu-load-all.cpu[0].usr
, чисто? Нужно ли мне обращаться к каждому полю, индексируя каждый массив и, следовательно, несколько итераций по каждому полю массива?
Сохраняет ли это результат на стороне сервера? Или я могу каким-то образом получить доступ к результатам запроса? – MrDuk
Когда я 'печатаю список (...)' с вашим приведенным выше примером, я получаю пустой список. – MrDuk
Агрегат PyMongo возвращает курсор: http://api.mongodb.com/python/current/examples/aggregation.html. Чтобы сохранить результат на сервере, используйте оператор конвейера агрегации «$ out»: https: //docs.mongodb .com/v3.2/reference/operator/aggregation/out/ –