2017-11-27 4 views
0

私はmongooseを使ってmongo dbを更新しようとしています。私はエラーは発生していませんが、更新は起こっていません。私は可能な限りすべてを試みました。Angular2:Mongoooseの更新が動作しない

exports.update_a_keyValue = function(req, res) { 
    console.log("templatecontroller: update_a_template - templateID:", 
    req.params._id, req.body); 
    Template.findOneAndUpdate({_id: req.body._id}, req.body, {new: false}, 
    function(err, keyvalue) { 
    if (err) 
     res.send(err); 
     res.json(keyvalue); 
    }); 
}; 

私はエクスプレスウィンドウでこれを取得しています。エラーはありません。ネットワーク側では、私は204と304エラーを参照してください。

templatecontroller: update_a_template - templateID: 
    5a1c22ab8af22e408c9bd0f4 
{ _ 
id: '5a1c22ab8af22e408c9bd0f4', 
key: 'testingthisagain', 
__v: 0, 
    values: [ { value: 'tesddfdfdf' }, { value: 'testingthisagain1' } ] } 

答えて

0

コードは正しいです。

{new:true}を設定すると、更新されたドキュメントが返されます。falseに設定すると、更新前のドキュメントが返されます。

+0

{new:true}であっても動作しません。私はDBを落として、もう一度試してみました。作成は機能していますが、編集は機能していません。私はデータを置くために郵便配達員を使ってみました私が得る戻り値はnullです。私もfindbyIdandupdateを試しました。それは同じ振る舞いを示しています。他に何ができるか分かりません。値はfindbyIdandupdateメソッドに入っていますが、データは更新されません –

+0

これについてはわかりませんが、コードを区切るためにifブロックに中括弧を入れてみてください。あなたのコードを読んで、私は 'res(end)と' res.json(keyvalue) 'が同じ' if(err) 'の下にあると思います。それ以外に、私はあなたがこれについてgithub repoを持っているなら、それをチェックするのが大好きです。 –

関連する問題