2016-10-08 11 views
0

は、私のようなデータベースに保存されている私のデータを、示している。このexpress.jsでfindOneAndUpdateクエリを書く方法は?

{ 
    "_id": { 
     "$oid": "5799995943d643600fabd6b7" 
    }, 
    "Username": "xx", 
    "Email": "[email protected]", 
    "Info": "Deactivate", 
    "Description": "aajdjdjddjdkjddjdjdhdj", 
    "VerificationCode": "594565", 
    "VerificationExpires": { 
     "$date": "2016-10-07T10:20:20.077Z" 
    } 

} 

マイコントローラ:

ユーザー名、電子メール、情報は、私はこれが「情報= 『アクティブ』」更新する必要が一致した場合同時に私は 'VerificationCode'フィールドと 'VerificationExpires'フィールドを削除する必要がありますどのように私はこれを達成することができますか? condtion一致したとの情報が変更さばかりが、私はVerificationCodeを削除する上記

exports.updatearticle = function(req, res) { 
    Article.findOneAndUpdate(
     { "Username":'xx', "Email":'[email protected]', "Info": "Deactivate" }, 
     { "$set": { "Info": "Active" } }, 
     { "new": true } 
     function (err, doc) { 
      if (err) { // err: any errors that occurred 
       console.log(err); 
      } else { // doc: the document before updates are applied if `new: false` 
       console.log(doc); // , the document returned after updates if `new true` 
       console.log(doc.Info); 
      } 

     } 
    ); 
}; 

、いくつかのいずれかがエラーFなっ

答えて

0
exports.updatearticle = function(req, res) { 
    Article.findOne({ "Username":'xx', "Email":'[email protected]', "Info": "Deactivate" }, function(err, result){ 
     if (!err && result) { 
     result.Info = "Active"; // update ur values goes here 
     result.VerificationCode = ""; 
     result.VerificationExpires = {}; 
     var article = new Article(result); 
     article.save(function(err, result2){ 
      if(!err) { 
       res.send(result2); 
      } else res.send(err); 
     }) 

     } else res.send(err); 
    }); 
    } 


home this may help 
+0

を私を助けVerificationExpires:\アプリケーション\テスト\ node_modules \マングース\ libに\ utilsの。 js:413 throw err; ^ エラー:送信後にヘッダーを設定できません。 –

+0

ur関数でres.send()が2回実行されていて、一度res.send()を送信してから他のコードを実行しても私のurコードをもう一度共有します –

+0

私は上記の同じコードを使用しました –

関連する問題