Mongoose使用Populate更新对象ID的数组?

时间:2017-04-04 11:23:30

标签: mongodb express mongoose

我正在尝试填充对象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);
});}

Mongoose 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次任何想法的人。

1 个答案:

答案 0 :(得分:0)

您可以使用此代码将所有Array元素推送到mongoose中的数组。

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);
   }
);