有没有办法从find(光标)的结果中获取计数?我想要最小化数据库访问。我可以获取查询结果并一次性计算吗?
res_docs = db.sensorDataCol.find({'sensorId': 123})
print(res_docs.count()) ?
print(len(res_docs)) ?
print(len(res_docs.items())) ?
.....
我知道我能做到:
res_count = db.sensorDataCol.countDocuments({'sensorId': 123})
或者:
res_docs = db.sensorDataCol.find({'sensorId': 123})
doc_count = 0
for doc in res_docs:
doc_count += 1
但是有更简洁的方式吗?
发布于 2019-03-05 15:48:04
这并不困难:
cursor = db.sensorDataCol.find({'sensorId': 123})
res_docs = list(cursor) # list of dicts
count1 = len(res_docs) # simpliest way
count2 = cursor.count() # alternative way, count1 == count2
这就是如何获得最小数据库访问的文档列表和文档计数。
https://stackoverflow.com/questions/-100006424
复制相似问题