sql >> Databasteknik >  >> NoSQL >> MongoDB

mongo-schema (inbäddning kontra referens)

Personligen skulle jag välja en separat samling, främst för att hålla dina användar-/platsobjekt små, eftersom du kan ha ett obegränsat antal incheckningar per användare/plats. Om du lägger ett index på user_id/timestampl och place_id/timestamp i din incheckningssamling, kommer frågor för en viss användare eller plats att vara effektiva. En andra fördel med att använda en separat samling är att MongoDB inte behöver fortsätta att flytta din användare eller placera objekt när det blir för stort. Istället kommer det bara att fortsätta att läggas till insamlingen av incheckningar, vilket borde vara ganska effektivt (10-tals av 1000-tals inlägg per sekund och skärva).

Jag bör också nämna att jag inte skulle göra det lagra inchecknings-ID:n på antingen platsen eller användardokumentet, eftersom du får samma prestandafördel av att ha ett index på place_id eller user_id i incheckningsdokumentet.



  1. Meteor Mongo findOne returnerar odefinierad metod

  2. hur kan jag automatiskt öka ett fält i mongodb med java-kod?

  3. Mongoose komplexa (asynkrona) virtuella

  4. Implementering av goMongoDB-liknande frågeuttrycksobjektutvärdering