2016-09-25 71 views
0

當我試圖在更新查詢後更新用戶文檔的單個屬性時,除了_id和updated屬性以外,用戶的每個屬性都缺失。我的查詢有什麼問題?MongoDB NodeJS更新刪除屬性

dbwrapper.mongo.getConnection().then(function(db){ 
    db.collection('users').update({'_id' : dbwrapper.mongo.ObjID(userID)}, {'iconID':2}, function(error, resultMongo){ 
     console.log(error); 
     if(error || !resultMongo){ 
     reject(error); 
     }else{ 
     resolve(resultMongo); 
     } 
    }); 
}); 

回答

2

這就是更新如何與MongoDB的工作:如果第二(「更新」),文件中包含領域:價值表情,存儲在數據庫中會文件替換通過更新文檔。這是documented here

如果您只是想更新iconID領域,使用$set

.update({ '_id' : ... }, { $set : { iconID : 2 }}, ...)