2016-09-12 4 views
0

私はAPIの更新メソッドを実装しようとしていますが、私はノードを少し新しくしていますので、更新のタスクを実行するベストプラクティスがわからないドキュメントのいくつかのフィールド。名前、年齢、性別、学校、生年月日、誕生日などのユーザーの基本情報を保持するユーザーモデルがあります。この更新メソッドはこのように機能するはずです。メソッドの要求にはフィールドの新しい値が含まれています{bio: 'newBio'}または{school: 'newSchool'、名前: 'newName'}提供されたフィールドを提供されたデータで更新し、残りはそのまま残す必要があります。私は、問題の最善のアプローチを手にしているのだろうかと思っていました。前もってありがとうマングース文書の特定のフィールドを更新する

+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(); 
    }); 
}); 
+0

"$ set":{bio: "new bio"}は1つのフィールドにはかなりよく見えますが、{"firstName": "the"、 "lastName:" "pirateapp"}のようにオブジェクト全体を更新するにはどうすればいいですか? – PirateApp

関連する問題