Mongoose更新文档的某些字段

时间:2016-09-12 20:43:24

标签: node.js mongoose

我正在尝试为我们的API实现更新方法,我对Node有点新手,所以我不知道执行更新文档某些字段的任务的最佳做法是什么。让我详细说明,我们有一个用户模型,它保存用户的基本信息,如姓名,年龄,性别,学校,生物,生日等。我们的更新方法应该这样工作,方法的请求包括字段的新值提供诸如{bio:'newBio'}或{school:'newSchool',name:'newName'}我必须使用提供的数据更新提供的字段,并保留原样。我想知道手头问题的最佳方法是什么。提前致谢

1 个答案:

答案 0 :(得分:0)

我能想到的最简单的方法是使用$ Set来执行更新操作。

一个例子是:

var updatedUsers= function(db, callback) {
   db.collection('users').updateMany(
      { "_id": "value"},
      {
        $set: { bio: "new bio" }
      }
      ,
      function(err, results) {
        console.log(results);
        callback();
   });
};

并将以上函数调用为:

MongoClient.connect(url, function(err, db) {
  assert.equal(null, err);

  updatedUsers(db, function() {
      db.close();
  });
});