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).