我试图使用变量值替换下面代码段中的“value”,但没有运气。
last_error = posts.update(
{'permalink':permalink},
{ '$inc':
{ 'comments."value".num_likes': 1 }
},
upsert=False,
manipulate=False, safe=True
)
变量保存0,1,2,3等值,需要根据数组位置更新数组(此处数组位置由数组值决定)。
不确定如何将变量值传递给update命令。我在评论和数字之间尝试了{value} ... [value]之类的东西。没有任何效果。
答案 0 :(得分:1)
难道你不能将它连接到字符串吗?
last_error = posts.update(
{'permalink':permalink},
{'$inc': {'comments.' + str(value) + '.num_likes': 1}},
upsert=False,
manipulate=False,
safe=True)
以下是另外两种方法来编写上面的第3行以获得良好的衡量标准:
{'$inc': {'comments.%s.num_likes' % value: 1}},
或:
{'$inc': {'comments.{value}.num_likes'.format(value=value): 1}},