sql >> Database >  >> NoSQL >> MongoDB

Ingesloten document versus referentie in het ontwerpmodel van mangoest?

Het hangt vooral af van hoe u uw gegevens gaat opvragen en bijwerken. Consistentie en documentgrootte zijn in dit geval ook belangrijk. Hier is een goede samenvatting van het verwijzen naar of het insluiten van documenten:

Inbedding:

  • Kleine subdocumenten
  • Gegevens die niet regelmatig veranderen
  • Uiteindelijke consistentie is acceptabel
  • Document dat met een kleine hoeveelheid groeit
  • Gegevens die je vaak nodig hebt om een ​​tweede zoekopdracht uit te voeren om op te halen
  • Snel lezen

Verwijzen naar:

  • Grote subdocumenten
  • Vluchtige gegevens
  • Onmiddellijke consistentie is noodzakelijk
  • Document dat veel groeit
  • Gegevens die u vaak uitsluit van resultaten
  • Snel schrijven

Dit is een uittreksel uit een boek over mongo dat ik heb gelezen. Dit zijn slechts algemene regels, maar vanuit mijn ervaring maakt het gebruik ervan het heel duidelijk of ze meestal moeten worden geraadpleegd of ingesloten.

Ik zou in dit geval liever verwijzen naar Forum. Maar houd rekening met al uw eisen. Als u bijvoorbeeld naar Forum verwijst vanuit Gebruiker en u alle gebruikers van een bepaald forum moet ondervragen, kan de zoekopdracht in dit geval traag zijn. Als ik jou was zou ik een lijst maken van alles wat ik nodig heb en dan zou het gebruik van algemene regels een balans vinden tussen de voor- en nadelen van insluiten en verwijzen.

Ik hoop dat het helpt!



  1. SQL versus NoSQL voor een voorraadbeheersysteem

  2. Schrijf op Slave redis db

  3. (node:3341) Afschrijving Waarschuwing:Mongoose:mpromise

  4. Dupliceer een document in MongoDB met een nieuwe _id