I documenti MongoDB sono attualmente limitati a un massimo di 16 MB, quindi supponendo che i calcoli di Gilbert siano accurati, non saresti in grado di memorizzare tutti i 6 milioni di user_id
s nella Post
documento.
Tuttavia, potresti considerare di memorizzare i voti in User
documento invece (cioè il post_id
s che l'utente in particolare ha votato). È molto meno probabile che un utente voti su 6 milioni di post diversi, quindi in questo modo non raggiungerai il limite di dimensioni così rapidamente.
Un altro modo per gestirlo:se prevedi così tanti voti per un determinato post, potresti voler memorizzare i voti al di fuori del Post
documenti in una raccolta separata ed eseguire una query aggiuntiva, simile a una tabella JOIN molti-a-molti in stile SQL:
user_votes { user_id: ObjectId(...), post_id: ObjectId(...), vote:-1 }
e crea un indice composto su (user_id, post_id).