2017-04-04 49 views
0

我想填充我的對象ID數組我怎麼辦?Mongoose使用Populate更新對象ID的數組?

功能

$scope.assignEmployees = function() { 
var chkArray = []; 
var companyName = $scope.selectedComapny.companyName; 
var Indata = {chkvalue:chkArray,company_name:companyName}; 
$("#employee_name:checked").each(function() { 
     chkArray.push($(this).val()); 
    }); 
$http({ 
    method : 'PUT', 
    url  : '/api/projects', 
    data : Indata 
}) 
.success(function (data){ 
    console.log(data); 
});} 

貓鼬API

人口代碼: -

Project.findOne({client : company_name}) 
    .populate('assignedTo') 
    .exec(function(err, project) { 
     if (err) return; 

     while(i<employee_id.length){ 
      project.assignedTo.push(employee_id[i]); 
      project.save(function(err) { 

       if (err) return; 


      }) 
      i++; 
     } 

     }); 

該代碼的工作,但它插入值4倍的任何想法的傢伙。

+0

你可以嘗試像'Project.updateOne({客戶:COMPANY_NAME},{ 「$推」:{ 「assignedTo」:{ 「$每個」:EMPLOYEE_ID}},功能(ERR,數據){如果(err)return;});' – Veeram

+0

夥計其不工作 –

+0

請檢查我的人口代碼 –

回答

0

您可以使用此代碼將數組中的所有元素都推送到貓鼬中的數組。

Project.update(
    { client: company_name }, 
    { "$pushAll": { "assignedTo": employee_id } }, 
    function (err, raw) { 
     if (err) return handleError(err); 
     console.log('The raw response from Mongo was ', raw); 
    } 
); 
相關問題