MongoDB NodeJS更新删除了属性

时间:2016-09-25 12:06:03

标签: node.js mongodb

当我在更新查询后尝试更新用户文档的单个属性时,除了_id和updated属性之外,缺少用户的每个属性。我的查询出了什么问题?

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);
      }
    });
});

1 个答案:

答案 0 :(得分:2)

这就是更新如何与MongoDB一起使用:如果第二个(“更新”)文档只包含 字段:值表达式,那么存储在数据库中的文档将是更新文档替换。这是documented here

如果您只想更新iconID字段,请使用$set

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