SQLの「結合」と同様に、Mongoでは「ルックアップ」を使用する必要があります。
ルックアップを使用するには、「集計」クエリを使用する必要があります
したがって、必要なクエリは、
db.collection('users').aggregate({$match:{ email: 'example_email' }},
{$unwind:{path:"$sensors"}},
{$lookup:{from:"sensor", localField: "sensors", foreignField:"sensorId", as:"sensorDetails"}},
(err, userData)=>{
console.log(userData);
})
つまり、このクエリは何をしているのでしょうか。
「$lookup」行を参照--->「users」コレクションから、「sensors」フィールド(SQLのプライマリIDのようなユーザーコレクションへのローカルフィールド)を使用し、sensorId(外部)に一致する「sensor」コレクションから情報をフェッチしますセンサーコレクションのフィールド)、結果を「sensorDetails」フィールドに保存します。
「userData[0].sensorDetails」を使用してsensorDetailsにアクセスできます。sensorDetailsは配列になります。
ルックアップ に関する公式ドキュメントを確認してください unwind についてもお読みください