Je suggérerais de stocker les votes sous forme de liste d'articles _id
s dans chaque utilisateur. De cette façon, vous pouvez savoir pour quelles histoires un utilisateur a voté simplement en consultant la liste. Pour obtenir les utilisateurs qui ont voté pour une histoire, vous pouvez faire quelque chose comme :
db.users.find({stories: story_id})
où story_id
est le _id
de l'histoire en question. Si vous créez un index sur les stories
champ ces deux requêtes seront rapides.