我正在使用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;
});
});
请帮我解决这个问题。