所以我创建了一个游标对象
cdb=self.mongo['bleh_bleh_bleh_setup_here']
data=cdb[collection].find(query_commands_here)
不用担心上面的语法。假设我可以成功地创建这样的游标对象
我知道我可以做一个for
循环来遍历这个对象,但是我想要的只是这个对象的第一项。有没有比循环更有效的方法?
编辑:
为了使事情更清楚,“bleh-bleh-bleh-setup”只是连接到所需mongoDB的路径,“query-commands-here”是类似于{field1:{'$gt':num1}, field2:{'$ne':num2}}
之类的查询。线路
data=cdb[collection].find(query_commands_here)
将给我一个游标对象,我可以用for
循环迭代它。所以像这样的事情
for item in data:
print item
将打印出对象中的每个条目。它工作得很好。但是,根据文档,这个游标对象应该有一个名为.hasNext()
的方法,如果有下一个条目,这个方法应该返回True。到目前为止,我还没有找到一个办法让它工作,因为一些奇怪的原因。data.next()
给了我一个条目。我想确保我可以有这个条件来确保我不会为一个不包含任何内容的游标对象调用.next()
,尽管我没有预见到这种情况的发生,但我会假设它会在某个时刻发生。
^{} 将返回符合以下条件的单个文档:
请注意,PyMongo Cursor没有
hasNext()
方法。我要做的是调用cursor.next()
并处理StopIteration
异常:相关问题 更多 >
编程相关推荐