0

我正在尝试使用变量值替换以下代码段中的“值”,但没有运气。

last_error = posts.update(
    {'permalink':permalink}, 
    { '$inc': 
        { 'comments."value".num_likes': 1 }
    }, 
    upsert=False, 
    manipulate=False, safe=True
)

该变量包含 0、1、2、3 等值,需要根据数组位置更新数组(此处数组位置由数组值确定)。

不确定如何将变量值传递给更新命令。我在评论和 numlikes 之间尝试了 {value} ...[value] 之类的东西。没有任何效果。

4

1 回答 1

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}},
于 2012-12-14T19:17:17.137 回答