Mongo DB没有更新,没有错误

时间:2017-04-25 01:57:13

标签: node.js mongodb http express

尝试更新以下M实验室托管的mongo数据库,没有太多运气,任何想法?通过车把模板输入表格,路由到快递服务器。没有错误,DB也没有更新。

{     " _id":{         " $ oid":" 58fdec20a8aac60a190152ae"     },     " name":" Item1",     "状态":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>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

使用下面的mongojs是我的解决方案。

&#13;
&#13;
app.put("/:id", function(req, res) {
    var id = req.body.id; 
    db.collection.findAndModify({
        query: { _id: mongojs.ObjectId(id)}, 
        update: { $set: {status: 1}},
        new: true},
        function(err, doc, collection){
        if(err){
            res.send(err);
            }else{
        res.redirect("/");
            }
            });
        });
&#13;
&#13;
&#13;

答案 1 :(得分:0)

请使用$ set括号进行回调功能:

app.put("/:id", function(req, res) {
    db.collection.update({_id: req.body.id},{$set:{status: 1}}, function(err,doc)
    {
      if(err){
         console.log(err);
      }
      res.redirect("/");
      console.log('updated')        
    });
});