你能根据多个集合中的数据编写更新命令吗?

时间:2016-09-17 17:25:14

标签: mongodb mongodb-query

smart: true studentsstudents.id = reports.student_id中的reports.grade = 'A'设置一样。

1 个答案:

答案 0 :(得分:0)

可以在两个查询中完成 - addToSet聚合和$in更新:

db.reports.aggregate([
  {$match: {grade: 'A'}},
  {$group: {_id: '_', res: {$addToSet: '$student_id'}}}
])

然后将结果数组复制到$in子句:

db.students.update(
  {id: {$in: [1, 2, 3, 4]}},
  {$set: {smart: true}},
  {multi: true}
);