sql >> Base de Datos >  >> NoSQL >> MongoDB

almacenar votos positivos/negativos en mongodb

Los documentos de MongoDB actualmente están restringidos a un máximo de 16 MB, por lo que, suponiendo que los cálculos de Gilbert sean precisos, no podrá almacenar los 6 millones de user_id s en la Post documento.

Sin embargo, podría considerar almacenar los votos en el User documento en su lugar (es decir, el post_id s que votó el usuario en particular). Es mucho menos probable que un usuario vote en 6 millones de publicaciones diferentes, por lo que no alcanzarás el límite de tamaño tan rápido.

Otra forma de manejar esto:si espera muchos votos para una publicación en particular, es posible que desee almacenar los votos fuera de la Post documentos en una colección separada y hacer una consulta adicional, similar a una tabla JOIN de muchos a muchos en modo SQL:

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

y cree un índice compuesto en (user_id, post_id).