2016-09-25 69 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 }}, ...)