尝试使用router.put方法获取用户位置时mongodb find方法出错

时间:2018-01-06 11:16:17

标签: node.js mongodb express

我正在尝试使用router.put方法找到用户的位置,方法是找到用户的手机号码。但是方法User.find无效并显示错误 null属性无法设置。虽然方法findbyid正在运作。

Follwoing是我的代码。请说明我做错了什么。

router.put('/updatelocation/:mobileNo',  (req, res) => {
        User.find({mobileNo:req.params.mobileNo}, (err, user) => {
          if (err) {
            res.send(err);
          }
          res.json(user);
          user.name = req.body.name;

          user.save(function(err) {
            if (err) {
              res.send(err);
            }
           res.json({ message: 'Food Truck info updated' });
            //res.send(user);
          });

        });
     });

1 个答案:

答案 0 :(得分:0)

如果您想要使用User.find单个对象,

User.findOne将返回一个数组 例如:

User.findOne({ mobileNo : req.params.mobileNo}, (err, user) => {
   ...
});

如果您使用mongoose想要更新用户.update.findOneAndUpdate