将对象添加到数组,其中父对象值等于特定值

时间:2017-07-05 04:20:23

标签: mongodb mongodb-query mongojs

这可能是Mongo的限制,因为我还没有找到解决我遇到的问题的方法。

目前,我正在使用MongoJS NPM软件包使我的Node应用程序的语法更加简化。你可以在这里看到MongoJS:https://github.com/mafintosh/mongojs。无论如何,如果数组的父对象具有值为x 的属性,我需要($)推送和反对数组。

例如:

var document = {
  date: '1-8-2017',
  classes: [
    {
      class: 'nursery',
      students: [
        {
          firstName: 'Blah'
        }
      ]
    }
  ]
}

我想确保不仅日期是集合中的选定文档,而且还要确保选择了类,然后我当然希望将对象推送到学生数组中。看到我的解决方案,似乎无法正常工作。

初始尝试

db.attendance.update({ date: classDocument.date }, {
  $push: {
    classes: [{
      class: studentDetails.class,
        students: [
          studentDetails
        ]
      }]
    }
  }
});

进一步尝试

db.attendance.update({ date: classDocument.date, classes: [{ class: studentDetails.class }] }, {
  $push: {
    students: [
      studentDetails
    ]
  }
});

思考? 谢谢!

0 个答案:

没有答案