2012-08-02 55 views
0

嵌套的文件我有這樣的結構:更新與MongoDB的+的NodeJS

{ 
    "_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'中的['](簡單的引號),因爲終端內的相同查詢完美地工作。

謝謝!

回答

0

我懷疑你的匹配不能按照你的預期工作。回調將返回

功能(ERR,numberofItemsUpdated,wholeUpdateObject)

numberofItemsUpdated應該等於1,如果你的工作匹配。你需要檢查idSession和idSong是否是你認爲的。