2016-06-25 43 views
0

应对编号在我的node.js的代码,当我追加的客户有一个ID我的车,但追加这样MongoDB的node.js中没有的ObjectId

"customer" : ObjectId("5755251e4e2210ce2f953407") 有没有办法让这样的

"customer" : "5755251e4e2210ce2f953407" 


function login(req, res, next) { 
    db.users.findOne({ 
      'email': req.body.email 
     }, function(err, user) { 
      if (err) return next(err); 
      if (!user) { 
       return res.status(401).send("user not found"); 
      } 
      if (lib.getSaltedPassword(req.body.password) != user.password) { 
       return res.status(401).send("wrong password"); 
      } 
      req.session.user = user; 
      if (req.session.cart) { 
       req.session.cart.forEach(function(data) { 
        data.customer = user._id 
       }) 
       db.carts.insert(req.session.cart, function(err, user_cart) { 
        if (err) return next(err); 
       }) 
      } 
     } 
     res.send({ 
      message: 'logged in', 
      user_id: user._id 
     }); 
    }); 
} 

回答

0

只需添加的ToString()如下:

function login(req, res, next) { 
    db.users.findOne({ 
      'email': req.body.email 
     }, function(err, user) { 
      if (err) return next(err); 
      if (!user) { 
       return res.status(401).send("user not found"); 
      } 
      if (lib.getSaltedPassword(req.body.password) != user.password) { 
       return res.status(401).send("wrong password"); 
      } 
      req.session.user = user; 
      if (req.session.cart) { 
       req.session.cart.forEach(function(data) { 
        data.customer = user._id.toString(); 
       }) 
       db.carts.insert(req.session.cart, function(err, user_cart) { 
        if (err) return next(err); 
       }) 
      } 
     } 
     res.send({ 
      message: 'logged in', 
      user_id: user._id 
     }); 
    }); 
}