在pymongo中修改的游标迭代

时间:2013-07-09 03:05:26

标签: python cursor pymongo

这是我的代码:

mongo_db = pymongo.MongoClient('mongodb://p2buser:p2bpass@192.168.1.102:27018')['YYPei']
brands = mongo_db.fqBrands.find()
count= brands.count()
i = 0
for brand in brands:
    i += 1
    mongo_db.fqBrands.update({"_id": brand['_id']},{'$set': {'enabled': 1})
print count
print i

fqBrands集合中有 1603 元素,并且计数等于它。 1603 但结果是i的值 1687

所以它让我有点迷惑,我怎么能确定它有什么问题。

1 个答案:

答案 0 :(得分:0)

我不知道' i'的不同价值的原因 但是有更好的方法来更新所有文档:

mongo_db = pymongo.MongoClient('mongodb://p2buser:p2bpass@192.168.1.102:27018')['YYPei']
brands = mongo_db.fqBrands.find()

count_before= brands.count()
brands.update({},{'$set': {'enabled': 1}, {multi: true})
count_after= brands.count()

print count_before
print count_after