sql >> Database teknologi >  >> NoSQL >> MongoDB

Søg på flere samlinger i MongoDB

Dette svar er forældet. Siden version 3.2 har MongoDB begrænset understøttelse af venstre ydre sammenføjninger med $lookup aggregeringsoperatoren

MongoDB laver ikke forespørgsler, der spænder over flere samlinger - punktum. Når du skal sammenføje data fra flere samlinger, skal du gøre det på applikationsniveau ved at lave flere forespørgsler.

  1. Forespørgselssamling A
  2. Hent de sekundære nøgler fra resultatet, og sæt dem i et array
  3. Forespørgselssamling B, der videregiver det array som værdien af ​​$in-operatoren
  4. Forbind resultaterne af begge forespørgsler programmatisk på applikationslaget

At skulle gøre dette burde snarere være undtagelsen end normen. Når du ofte har brug for at efterligne JOINs på den måde, betyder det enten, at du stadig tænker for relationelt, når du designer dit databaseskema, eller at dine data simpelthen ikke er egnet til det dokumentbaserede lagringskoncept i MongoDB.



  1. Rediger og gentag MongoDB oplog

  2. Sådan modtager du Redis publiceringsmeddelelse i Go

  3. mange til mange forhold til nosql (mongodb og mongoose)

  4. Redis Database TTL