Podobně jako u "joins" v SQL, v Mongo musíte použít "lookup".
Chcete-li použít vyhledávání, musíte použít "agregační" dotaz,
Takže dotaz, který potřebujete, je,
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);
})
Co tedy tento dotaz dělá,
viz řádek "$lookup" ---> z kolekce "users", používá pole "sensors" (místní pole do vaší uživatelské sbírky jako primární id v sql) a načte informace z kolekce "sensor" odpovídající sensorId (cizí pole v kolekci senzorů) a výsledek uložte do pole „sensorDetails“.
můžete mít přístup k sensorDetails pomocí "userData[0].sensorDetails".sensorDetails bude pole.
Podívejte se na oficiální dokumenty o hledání Přečtěte si také o uvolnění