Ho una raccolta di Posts
e Users
dove gli utenti possono upvotare/downvotare ogni post. Quale sarebbe il modo migliore per archiviarlo in un database mongodb per assicurarsi che gli utenti non possano votare per un determinato documento più di una volta?memorizzando upvotes/downvotes in mongodb
La soluzione più semplice nosql-ish ho fornito è memorizzare una serie di user_ids hanno votato dentro ciascun documento Post
(o matrice di (user_id, vote)
dove vote
è +1 o -1 in modo che gli utenti saranno in grado di cambiare il loro voto). E 'una buona idea dal punto di vista delle prestazioni dato che ogni post può avere migliaia di voti?
Che dire di siti Web molto popolari come Reddit, dove i post più importanti possono avere centinaia di migliaia di voti?
come faresti? Ho provato a memorizzare gli objectid come chiavi ma non funziona .. –