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 行目を適切な方法で書く別の 2 つの方法を次に示します。

    {'$inc': {'comments.%s.num_likes' % value: 1}},

また:

    {'$inc': {'comments.{value}.num_likes'.format(value=value): 1}},
于 2012-12-14T19:17:17.137 に答える