2016-06-25 1 views
0

Dans mon code Node.js quand je suis avec un client annexant Id à mon panier, mais il est annexant comme celui-ciMongoDB Node.js adaptation Id sans ObjectId

"customer" : ObjectId("5755251e4e2210ce2f953407") est-il un moyen d'obtenir comme celui-ci

"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 
     }); 
    }); 
} 

Répondre

0

ajouter simplement une .toString() comme suit:

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 
     }); 
    }); 
}