Simile a "join" in sql, in Mongo devi usare "lookup".
Per usare la ricerca devi usare la query "aggregata",
Quindi la query di cui hai bisogno è,
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);
})
Quindi cosa sta facendo questa query,
vedere la riga "$ lookup" ---> dalla raccolta "users", utilizza il campo "sensors" (campo locale della raccolta utente come l'ID primario in sql) e recupera le informazioni dalla raccolta "sensor" che corrisponde a sensorId (estraneo campo nella raccolta del sensore) e archiviare il risultato nel campo "sensorDetails".
puoi avere accesso a sensorDetails con "userData[0].sensorDetails".sensorDetails sarà array.
Controlla i documenti ufficiali sulla ricerca Leggi anche su unwind