sql >> Database >  >> NoSQL >> MongoDB

De beste manier om waarden op te slaan/te krijgen waarnaar wordt verwezen vanuit een lijst in Mongo/RectiveMongo?

Ik heb dit exacte probleem een ​​tijdje geleden aangepakt.

Er zijn geen joins in mongo. Je moet handmatig voor de join zorgen.

Uw opties zijn:

  1. Loop door elk commentaar en vraag mongo voor de gebruiker. dit is wat je doet.
  2. Haal alle gebruikers-ID's op uit opmerkingen, vraag mongo naar de gebruikers die overeenkomen met deze ID's en zorg er vervolgens voor dat de gebruiker met de opmerking overeenkomt. Dit is precies wat je deed, maar een beetje meer geoptimaliseerd.
  3. De gebruiker insluiten in opmerkingen of opmerkingen in gebruikers. Zou dit niet aanbevelen, dit is waarschijnlijk niet de juiste plek voor opmerkingen/gebruikers.
  4. Bedenk welke gegevens je van de gebruiker nodig hebt bij het weergeven van een opmerking, en sluit alleen deze informatie in de opmerking in

Ik koos uiteindelijk voor de laatste optie.
We hebben de gebruikers-ID, de voor- en achternaam in elke opmerking ingesloten. Het is onwaarschijnlijk dat deze informatie zal veranderen (mogelijk zelfs niet toegestaan ​​om te veranderen na het maken?).
Als het kan veranderen, dan is het niet zo moeilijk om de update-user-methode aan te passen om de gerelateerde opmerkingen bij te werken met de nieuwe informatie (dat hebben we ook gedaan).
Dus nu is geen lidmaatschap nodig.




  1. Hoe de subdocumentarray in mangoest / mongodb sorteren?

  2. Hoe krijg ik een genest object van waarde in mangoest?

  3. Te veel open bestanden en zorg ervoor dat index mongo

  4. Hoe kan ik verbinding maken met mongodb via express zonder mangoest?