找到最新的对象离子数据库并更新数组 - mongoose

时间:2018-03-09 21:50:42

标签: node.js mongodb mongoose

您好我在使用带有node.js的mongoose更新对象时遇到了问题。

我有这个代码为mongodb中的每个对象添加一个练习...

app.put("/index", function(req,res){
    Exe.update({}, {$push: req.body.exe}, {multi: true},  function(err, numAffected){ //NEED TO PUSH 0'S INTO ARRAYS WHEN CREATING NEW WORKOUT.
        if (err){
            console.log(err);
        }else{
            console.log(numAffected);
            res.redirect("/index/new");
        }
    });    
});

上述工作确实为每个练习对象数组添加了一个练习。我坚持的下一部分也是在对象的前一个权重键中添加一个起始编号。即时通讯使用以下代码:

app.put("/index", function(req,res){
    Exe.update({}, {$push: {req.body.exe}, {"previous" : [0]}}, {multi: true},  function(err, numAffected){ //NEED TO PUSH 0'S INTO ARRAYS WHEN CREATING NEW WORKOUT.
        if (err){
            console.log(err);
        }else{
            console.log(numAffected);
            res.redirect("/index");
        }
    });    
});

我想要做的是让用户添加一个练习,然后将其添加到数据库中并将之前的(起始重量)设置为0.

1 个答案:

答案 0 :(得分:0)

因此,当使用body解析器然后使用我自己的数组时,它似乎遇到了问题。我用以下代码来解决这个问题:

  

app.put(“/ index”,function(req,res){       Exe.update({},{$ push:req.body.exe},{multi:true},function(err,numAffected){           if(错误){               的console.log(ERR);           }其他{               Exe.update({},{$ push:{“previous”:0}},{multi:true},function(err,numAffected){                   if(错误){                       的console.log(ERR);                   }其他{                       res.redirect( “/索引”);                   }
              });           }       }); });