0

私はこのような構造を持っています:

{
    "_id" : ObjectId("501abaa341021dc3a1d0c70c"),
    "name" : "prova",
    "idDj" : "1",
    "list" : [
        {
            "id" : 1,
            "votes" : 2
        },
        {
            "id" : 2,
            "votes" : 4
        }
    ]
}

そして、私はこのクエリで投票を増やそうとしています:

session_collection.update(
 {'_id':session_collection.db.bson_serializer.ObjectID.createFromHexString(idSession),'list.id':idSong},
 {$inc:{'list.$.votes':1}},
 {safe: true} ,
 callback);

しかし、何も更新されないだけで問題はありません。

ターミナル内の同じクエリが完全に機能するため、「list.id」と「list.$.votes」の ['] (単純な引用符) が原因だと思います。

ありがとう!

4

1 に答える 1

0

マッチングが期待どおりに機能していないと思われます。コールバックが返されます

関数(エラー、更新されたアイテムの数、全体のUpdateObject)

マッチングが機能した場合、numberofItemsUpdated は 1 になります。idSession と idSong があなたが思っているものかどうかを確認する必要があります。

于 2012-08-03T17:30:09.263 に答える