Python 遍历子文档
我有这种类型的JSON文档:Python 遍历子文档,python,mongodb,Python,Mongodb,我有这种类型的JSON文档: { name : 'John', age : 30, counts : [ {day : monday, pay : 75, extra : 33} , {day : tuesday, pay : 69, extra : 12} , {day : sunday, pay : 42, extra : 0} ] } 我希望遍历它们并执行操作。我创建了一个变量“a”,试图迭代: x = [2, 67, 53, 21, 5, ..
{
name : 'John',
age : 30,
counts : [
{day : monday, pay : 75, extra : 33} ,
{day : tuesday, pay : 69, extra : 12} ,
{day : sunday, pay : 42, extra : 0} ]
}
我希望遍历它们并执行操作。我创建了一个变量“a”,试图迭代:
x = [2, 67, 53, 21, 5, ... ... ]
for i in db.docs.find():
a = 0
while a <= len(i['counts']):
...
x.append(i['counts'][a]['extra'])
...
total = ...
...
a = a + 1
db.docs.update({'id': i['id']}, {'$set':{"counts.a.total":total}})
您可以使用for循环:
for element in i['counts']:
...
x.append(element['extra'])
如果必须使用while循环,请确保索引严格小于长度
while a < len(i['counts']):
而a
它应该已经存在了。如果你遇到了一个错误,你能举个回溯的例子吗?可能您的JSON加载错误。您确定JSON正确吗?看起来您的计数实际上并不是一个列表。是的,我的错误是,数据库中的文档中确实有comas。for循环工作得很好,但是我不知道如何让我的代码工作:db.docs.update({'id':i['id']},{'$set':{“element.total”:total})
非常感谢您的帮助
while a < len(i['counts']):