mongoose推嵌套子文档数组

我需要在嵌套子文档数组中推送数据:

这是我的Json:

[ { _id: "56cbe9727bab33a413216dd4", company_name: "Star", __v: 0, created_at: "2016-02-23T05:09:06.754Z", plan: [ { plan_name: "Mediclassic", plan_type: "Individual", _id: "56cbe9727bab33a413216dd5", created_at: "2016-02-23T05:09:06.756Z", rate_card: [ { zone: "zone-2", suminsured: 150000, premium: 2874, size: "1A", _id: "56cbe9727bab33a413216dd6", benefits: { hospitals: true, copay: true, cashless_hospital: true, existing_disease_cover: true }, age: { min: "5M", max: 35 } } ] } ] } ] 

我需要在rate_card中推送我的数据,我已经尝试了一些东西,但它不工作

下面是我的代码:

AngularController.js

 $scope.RateCardCreateAction = function(){ $scope.params = $routeParams.id; console.log($scope.insurance.plan.rate_card); $http.put('/auth/insurance-list/plan/new/rate_card/' + $scope.params, $scope.insurance.plan.rate_card).success(function(response){ console.log(response); refresh(); }); }; 

mainRoutes.js

//新的价目表

 router.put('/secure/insurance-list/plan/new/rate_card/:id', function(req, res){ var id = req.params.id; Insurance.update({'plan._id':id}, {$push : { 'rate_card' : { 'zone' : req.body.zone, 'suminsured' : req.body.suminsured, 'premium' : req.body.premium, 'size' : req.body.size, 'age' : { 'min' : req.body.age.min, 'max' : req.body.age.max }, 'benefits' : { 'hospitals' : req.body.benefits.hospitals, 'cashless_hospital' : req.body.benefits.cashless_hospital, 'copay' : req.body.benefits.copay, 'existing_disease_cover' : req.body.benefits.existing_disease_cover } } } }, {upsert: true}, function(err, docs){ res.json(docs); console.log(docs); }); 

});

在这里,我需要推动数据rate_card,但数据不存储在子文档数组,这里得到计划编号,并试图推动,但不工作

在服务器响应得到这个{ ok: 0, n: 0, nModified: 0 }

试试这个,我希望这会帮助你

 router.put('/secure/insurance-list/plan/new/rate_card/:id/:id2', function(req, res){ var id = req.params.id; var id2 = req.params.id2; Insurance.update({_id:id, 'plan._id':id2}, {$push : {'plan.$.rate_card' : req.body} }, {upsert: true}, function(err, docs){ res.json(docs); console.log(docs); }); });