不保留会话数组中的先前数据

时间:2018-05-23 16:37:03

标签: express-session

我正在使用MEAN全栈进行在线食品订购项目。在服务器上,我使用快速会话来保存数据。我已经声明了一个数组会话来存储会话中的数组数据,但它没有保留以前的数据 - 它会覆盖现有的值。这是我的代码:

app.put('/addCart',function(req,res,next){

    db.collection('product',function(err,productCollection){

        var id = parseInt(req.body.id);


productCollection.findOne({_id:id},{},function(err, products){
            var cart = req.session.cart || [];  


    if(req.session.cart == null){ 

        req.session.cart = [{p_id: products._id, p_name: products.title, p_price: products.price,quantity:1}];
            }

             else{

        cart.push({p_id: products._id, p_name: products.title, p_price: products.price,quantity:1});
            }
                return res.json(req.session.cart);
            });
        });
    });

在控制器中,我将每个食品的id传递给服务器。 这是角度代码:

    app.controller('FoodCartController' , function($rootScope,$scope, $http,$routeParams){
            $scope.addCart = function(food){
                $http.put('/addCart',{id:food._id}).then(function(response){
                console.log(response.data);
                $scope.carts = response.data;
        });
    });

请帮我解决这个问题。

0 个答案:

没有答案
相关问题