我收到此错误:
TypeError:'Cursor'类型的对象没有len()
当我尝试执行时:
reply = db['test'].find({"date":{"$gt":date_query}} ,{"date":1,"route_id":1,"loc":1,"_id":0})
length = len(reply)
答案 0 :(得分:22)
编辑:
刚刚注意到你在标签中引用了mongodb。我很困惑,因为您的问题正文未指定您正在使用的数据库。
光标有一个方法'count()',它将返回你要找的东西。
答案 1 :(得分:4)
是的,伯爵会为你做的工作。
length = reply.count()
或
length = reply.count(with_limit_and_skip=False)
不得不忍受很多因为长度=计数(回复)也没有用。由于我还没有被评论,所以想留下这个答案。希望这能帮助别人节省一些时间。
答案 2 :(得分:1)
从Mongo 4.0.3
/ PyMongo 3.7.0
开始,您可以在count
上使用count_documents
代替cursor
:
db.collection.count_documents({ "a": 2 })
# where { "a": 2 } is whatever filtering query
db.collection.count_documents
是现已弃用的db.collection.count
的替代方法。