Speichern von Upvotes / Downvotes in Mongodb

Ich habe eine Sammlung vonPosts undUsers Hier können Benutzer jeden Beitrag positiv oder negativ bewerten. Wie kann dies am besten in einer Mongodb-Datenbank gespeichert werden, um sicherzustellen, dass Benutzer nicht mehr als einmal für ein bestimmtes Dokument stimmen können?

Die einfachste Lösung, die ich mir ausgedacht habe, ist das Speichern eines Arrays von Benutzer-IDs, die in jedem von ihnen abgestimmt habenPost Dokument (oder sogar Array von(user_id, vote) wohervote ist +1 oder -1, damit Benutzer ihre Stimme ändern können). Ist es aus Sicht der Leistung eine gute Idee, dass jeder Beitrag Tausende von Stimmen haben kann?

Was ist mit wirklich beliebten Websites wie Reddit, auf denen Top-Posts Hunderttausende von Stimmen haben können?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage