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

mongo-skema (indlejring vs reference)

Personligt ville jeg gå med en separat samling, hovedsageligt med det formål at holde dine bruger-/stedobjekter små, da du kan have et ubegrænset antal checkins pr. bruger/sted. Hvis du sætter et indeks på user_id/timestampl og place_id/timestamp i din checkins-samling, så vil forespørgsler til en bestemt bruger eller sted være effektive. En anden fordel ved at bruge en separat samling er, at MongoDB ikke behøver at blive ved med at flytte din bruger eller placere objekt, når det bliver for stort. I stedet vil det bare blive ved med at føje til checkins-indsamlingen, hvilket burde være ret effektivt (10'er af 1000'er af indlæg pr. sekund pr. shard).

Jeg bør også nævne, at jeg ikke ville gem check-in-id'erne på enten stedet eller brugerdokumentet, da du får samme ydeevne ved at have et indeks på place_id eller user_id i checkins-dokumentet.



  1. MongoDB-ydelsesproblem:Enkelt kæmpe samling vs flere små samlinger

  2. mongodb flytte dokumenter fra en samling til en anden samling

  3. Mongo C# JSON-læser forventede en værdi, men fandt 'replSetGetStatus'

  4. MongoDB listeSamlingsfilter