sql >> Databasteknik >  >> NoSQL >> MongoDB

När ska man bädda in dokument i Mongo DB

Nyckeln här handlar mindre om "är detta en relation?" och mer om "hur kommer jag åt detta?"

MongoDB är inte "anti-referens". MongoDB gör det inte har fördelarna med joins, men det gör det har fördelen av inbäddade dokument.

Så länge du förstår dessa avvägningar är det helt rättvist att använda referenser i MongoDB. Det handlar egentligen om hur du planerar att fråga efter dessa objekt.

Kanske. Några saker att tänka på.

  • Gör games har värde utanför sammanhanget för user ?
  • Hur många games kommer en enda user har?
  • Är games transaktionell karaktär?
  • Hur kommer du åt games ? Behöver du alltid alla en användares spel?

Om du planerar att bygga topplistor och en användare kan generera hundratals speldokument, så är det förmodligen rättvist att ha spel i sin egen samling. Att lagra tiotusen instanser av "spel" inuti varje användare är inte särskilt användbart.

Men beroende på dina svar på ovanstående kan du verkligen gå åt båda hållen. Som lackmustestet skulle jag prova att köra några Map/Reduce-jobb (dvs bygga en enkel leaderboard ) för att se hur du tycker om strukturen på dina data.



  1. Får fel i mongodb cast-problem för giltigt objekt-id

  2. Bygga index i MongoDB med .NET-drivrutin 2.0

  3. MongoDB findAndModify()

  4. Covert RFC3339 DateTime to Date i java