0
students
のsmart: true
のように設定します。students.id = reports.student_id
とreports.grade = 'A'
です。複数のコレクションのデータに基づいて更新コマンドを書き込むことはできますか?
students
のsmart: true
のように設定します。students.id = reports.student_id
とreports.grade = 'A'
です。複数のコレクションのデータに基づいて更新コマンドを書き込むことはできますか?
から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}
);
いや、それを行うことはできません(1つのクエリで)。 Mongodbには結合がありません。 –