Pymongo - 脚本v Shell中的游标迭代

时间:2012-08-15 14:33:21

标签: python mongodb cursor pymongo

我正在尝试迭代一个查询,返回我最终将编码插入数组的各种dicts。

我目前的问题是我的代码在shell中运行,但它在脚本中不起作用。

这是我的代码:

cursor = db.model.find({'time': {'$gte': start, '$lt': end}}).sort('time')

for result in cursor:
    result['_id']

在shell中使用时,它返回id。在脚本中使用时,它只是跳过它从未发生过。在这两种情况下,如果我添加print(结果),我会得到整个结果。

我很感激帮助和解释。感谢。

1 个答案:

答案 0 :(得分:0)

明确使用print语句:

cursor = db.model.find({'time': {'$gte': start, '$lt': end}}).sort('time')

for result in cursor:
    print result['_id']

Shell会自动显示每个计算值(即result['_id']),而脚本则不会。为了将一些数据写入stdout,您应该明确使用print