2

这是我的片段:

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个元素,计数等于它。i应该是1603 但结果是 i 的值是1687

所以这让我有点困惑,我怎样才能确定它有什么问题。

4

1 回答 1

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
于 2015-01-21T10:31:47.393 回答