2013-03-30 43 views
0

我的用戶模式是:的Node.js +蒙戈母語:插入子對象到現有對象

{ 
    "_id": {"$oid": "515774f2c24007eb57000001"}, 
    "login": "Ilya", 
    "password": "30947a8c9f39b27290a11eabaeec8c89", 
} 

我做動態添加研討會信息到用戶對象。此代碼後:

exports.signSeminar = function(user_id, seminar_id, callback) { 
    var user_obj_id = BSON.ObjectID.createFromHexString(String(user_id)); 
    db.collection("users", function(error, collection) { 
     collection.findAndModify({ 
      _id: user_obj_id 
     }, [], { 
      $set: { 
       "seminars": [{ 
        "id:": String(seminar_id) 
       }] 
      } 
     }, {}, function(err, result) { 
      callback(200); 
     }); 
    }); 
}; 

我對象就變成了:

{ 
    "_id": {"$oid": "515774f2c24007eb57000001"}, 
    "login": "Ilya", 
    "password": "30947a8c9f39b27290a11eabaeec8c89", 
    "seminars": [ 
     { 
      "id:": "51562509b781ae1d53000001" 
     } 
    ], 
} 

後,我shell中的代碼兩次+時候,它只是重新寫兒童「研討會」的對象。我需要插入另一個研討會對象,如下所示:

{ 
    "_id": {"$oid": "515774f2c24007eb57000001"}, 
    "login": "Ilya", 
    "password": "30947a8c9f39b27290a11eabaeec8c89", 
    "seminars": [ 
     { 
      "id:": "51562509b781ae1d53000001" 
     }, 
     { 
      "id:": "#another_object_id#" 
     } 
    ], 
} 

我在做什麼錯?謝謝。

P.S.試圖findAndModify,更新,unsert,沒有運氣((

回答