【发布时间】:2016-04-11 06:31:30
【问题描述】:
所以我通过
创建了一个 Cursor 对象cdb=self.mongo['bleh_bleh_bleh_setup_here']
data=cdb[collection].find(query_commands_here)
不用担心上面的语法。假设我可以成功创建这样的光标对象
我知道我可以做一个for 循环来遍历对象,但我想要的只是这个对象的第一项。还有比循环更有效的方法吗?
编辑:
为了让事情更清楚,'bleh_bleh_bleh_setup_here' 只是连接到所需 mongoDB 的路径,而 'query_commands_here' 是类似 {field1:{'$gt':num1}, field2:{'$ne':num2}} 这样的查询。线
data=cdb[collection].find(query_commands_here)
会给我一个 Cursor 对象,我可以使用 for 循环对其进行迭代。所以像
for item in data:
print item
将打印出对象中的每个条目。它工作得很好。然而,根据文档,这个游标对象应该有一个名为.hasNext()的方法,如果有下一个条目,它应该返回True。到目前为止,由于某种奇怪的原因,我还没有找到让它工作的方法。 data.next() 确实给了我一个条目。我想确保我可以有这样的条件,以确保我不会为不包含任何内容的游标对象调用.next(),尽管我没有预见到这种情况会发生,但我认为它会发生在一点。
【问题讨论】: