sql >> Databáze >  >> NoSQL >> MongoDB

schéma mongo (vložení vs. reference)

Osobně bych šel se samostatnou sbírkou, hlavně za účelem udržení malých objektů uživatele/místa, protože můžete mít neomezený počet ohlášení na uživatele/místo. Pokud do své kolekce checkins vložíte index na user_id/timestampl a place_id/timestamp, budou dotazy na konkrétního uživatele nebo místo efektivní. Druhou výhodou použití samostatné kolekce je, že MongoDB nebude muset neustále přesouvat uživatele nebo umisťovat objekt, když se příliš zvětší. Místo toho se bude neustále přidávat do kolekce checkins, což by mělo být docela efektivní (10 s 1000 s vložení za sekundu na fragment).

Měl bych také zmínit, že nebudu ukládejte přihlašovací ID buď na dané místo, ani do uživatelského dokumentu, protože získáte stejnou výkonnostní výhodu, pokud budete mít index na place_id nebo user_id v dokumentu checkins.



  1. Převeďte podmínky dotazu JSON na operace MongoDB/Mongoose

  2. MongoDb $addFields a $match

  3. Zaseknutý při načítání mangustou

  4. Dědění schémat Mongoose