Podobnie jak "joins" w sql, w Mongo musisz użyć "lookup".
Aby użyć wyszukiwania, musisz użyć zapytania „zagregowanego”,
Więc zapytanie, którego potrzebujesz, to:
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 więc robi to zapytanie,
zobacz wiersz "$lookup" ---> z kolekcji "users", używa pola "sensors" (pole lokalne do Twojej kolekcji użytkownika, takie jak podstawowy identyfikator w sql) i pobiera informacje z kolekcji "sensor" pasującej do sensorId (obcy w kolekcji czujników) i zapisz wynik w polu „sensorDetails”.
możesz mieć dostęp do sensorDetails za pomocą "userData[0].sensorDetails".sensorDetails będzie tablicą.
Sprawdź oficjalne dokumenty na temat lookup Przeczytaj także o rozwijaniu