sql >> Database >  >> NoSQL >> MongoDB

mongo-schema (inbedding versus referentie)

Persoonlijk zou ik voor een aparte verzameling gaan, voornamelijk om je gebruiker/plaats-objecten klein te houden, aangezien je een onbeperkt aantal check-ins per gebruiker/plaats kunt hebben. Als u een index op user_id/timestampl en place_id/timestamp in uw checkins-verzameling plaatst, zullen zoekopdrachten voor een bepaalde gebruiker of plaats efficiënt zijn. Een tweede voordeel van het gebruik van een aparte collectie is dat MongoDB niet steeds uw gebruiker hoeft te verplaatsen of een object hoeft te plaatsen wanneer deze te groot wordt. In plaats daarvan blijft het gewoon toevoegen aan de checkins-verzameling, wat behoorlijk efficiënt zou moeten zijn (10s of 1000s inserts per seconde per shard).

Ik moet ook vermelden dat ik niet sla de check-in-ID's op in het plaats- of het gebruikersdocument, aangezien u hetzelfde prestatievoordeel krijgt als u een index op place_id of user_id in het checkins-document heeft.



  1. Documenten vinden die aan meerdere criteria voldoen

  2. Garandeert de $in-clausule van MongoDB?

  3. Kan { en } tekens niet gebruiken in mongodb-console

  4. Hoe een veld in het subdocument van een array in het subdocument van een array in MongoDB bij te werken met behulp van het C#-stuurprogramma?