猿问

求解:vue2.0商城开发中无法给cartList中的商品添加自定义属性???

后台代码:

router.post('/addCart',function (req, res, next) {
 var userId='100000077',productId=req.body.productId;
 User.findOne({userId:userId},function (err ,userDoc) {
   if(err){
     res.json({
       status:'1',
       msg:err.message
     })
   }else{
     console.log('userDoc:'+userDoc);
     if(userDoc){
       Goods.findOne({productId:productId},function (err,doc) {
         if(err){
           res.json({
             status:'1',
             msg:err.message
           })
         }else{
           if(doc){
             doc.checked=1;
             doc.productNum=1;
             userDoc.cartList.push(doc);
             userDoc.save(function (err,newDoc) {
               if(err){
                 res.json({
                   status:'1',
                   msg:err.message
                 })
               }else{
                 res.json({
                   status:'0',
                   msg:'',
                   result:newDoc.cartList
                 })
               }
             })
           }
         }
       })
     }
   }
 })
})

前台代码:

addCart(productId){
  axios.post('/goods/addCart',{
    productId:productId
  }).then((result)=> {
    var res=result.data;
    if(res.status=='0'){
      alert('success')
    }else{
      alert('fail')
    }
  })
}


那一年_0001
浏览 2315回答 2
2回答

阿探

检查你的实例,是不是类型问题

qq_海阔天空_108

if(doc) { newobj = { //新创建一个对象,实现转换mongoose不能直接增加属性的坑 productId: doc.productId, producName: doc.producName, salePrice: doc.salePrice, productName: doc.productName, productImage: doc.productImage, productNum: "1", checked: "1", } userDoc.cartList.push(newobj);
随时随地看视频慕课网APP
我要回答