不确定这里发生了什么或者为什么,似乎当我迭代光标时它会移动它,因为我无法从同一个起点运行第二个循环。我的例子:
players = db.player.find({'parent_api__id' : 'stats', 'game__id':{'$in':games_list}, "played":"true"});
count = 0;
for c in players:
count = count + 1
for c in players:
game = db.game.find_one({'parent_api__id':'schedule', 'id':c['game__id']})
c['date'] = game['scheduled']
print c
在这一个中它永远不会进入第二个循环,如果我打印一个打印顶部它永远不会打它,它永远不会打印底部的打印c
现在,如果我用循环中的计数注释掉它,那么它看起来像这样:
players = db.player.find({'parent_api__id' : 'stats', 'game__id':{'$in':games_list}, "played":"true"});
#count = 0;
#for c in players:
# count = count + 1
for c in players:
game = db.game.find_one({'parent_api__id':'schedule', 'id':c['game__id']})
c['date'] = game['scheduled']
print c
然后它进入第二个循环并完全迭代(随着它一直打印出来)
这是为什么?我是否必须每次与其他玩家重置光标= db.player.find({' parent_api__id':' stats',' game__id':{ ' $ in':games_list},"播放":" true"}); ?似乎这不是预期的方式。
感谢您提供的任何帮助!