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

ukládání hlasů pro/proti v mongodb

MongoDB dokumenty jsou aktuálně omezeny na maximálně 16 MB, takže za předpokladu, že Gilbertovy výpočty jsou přesné, nebudete moci uložit všech 6 milionů user_id s v Post dokument.

Můžete však zvážit uložení hlasů do User dokumentu (tj. post_id pro který konkrétní uživatel hlasoval). Je mnohem méně pravděpodobné, že uživatel hlasuje pro 6 milionů různých příspěvků, takže tímto způsobem nedosáhnete limitu velikosti tak rychle.

Další způsob, jak to vyřešit:Pokud očekáváte tolik hlasů pro konkrétní příspěvek, možná budete chtít uložit hlasy mimo Post dokumenty v samostatné kolekci a proveďte další dotaz, podobný tabulce JOIN typu many-to-many v SQL:

user_votes { user_id: ObjectId(...), post_id: ObjectId(...), vote:-1 }

a vytvořte složený index na (user_id, post_id).



  1. Aktualizujte entitu v redis pomocí spring-data-redis

  2. MongoDB:Aktualizace průměru v dokumentu se 2 vnořenými poli

  3. Jak správně zvýšit počet dat v mongoDB?

  4. Redis pod klasickým ASP (VBScript)