以下のM Labのmongo DBを更新しようとしましたが、運がよかったですね。サーバーを表現するためにルーティングされたハンドルバーテンプレートによるフォーム入力。エラーはなく、DBは更新されません。Mongo DBがエラーなしで更新されない
{ "_id":{ "$のOID": "58fdec20a8aac60a190152ae" }、 "名前": "アイテム1"、 "ステータス":0 }
app.put("/:id", function(req, res) {
db.collection.update({_id: req.body.id},
{
$set:{status: 1}, function(){
res.redirect("/");
console.log('updated')
}
});
});
<ul> Let's Eat
{{#each ndev}}
<li>
<p>
<form action="/:{{this._id}}?_method=PUT" method="POST">
<input type="hidden" name="id" value="{{_id}}">{{name}}
<button type="submit">Update</button>
</form>
</p>
</li>
{{/each}}
</ul>
使用 'findOneAndUpdate'方法、また{新しい:真}'渡す '取り戻すために更新されたドキュメント – georoot
フィードバックいただきありがとうございます、あなたは正しい軌道に乗りました。 –
あなたは '_id'を持っている' findAndModify'を使ってはいけません。データベースには一つの文書しか存在しません。 'findOneAndUpdate'メソッドを使う – georoot