Quando você fizer isso dessa maneira, não acompanhará qual usuário já votou, para que os usuários possam votar várias vezes. Isso certamente não é do seu interesse.
Por esse motivo, eu adicionaria um array "votes" a cada artigo que inclui um objeto para cada voto que identifica exclusivamente o usuário que o fez:
votes: [
{ voter:"name or ID or IP address or some other unique identifier for the person who voted",
vote:-1 },
{ voter:"someone else",
vote:1 },
{ voter:"and someone entirely different",
vote:-1 }
]
Ao criar um índice exclusivo sobre o ID do artigo e o votes.voter, você já garantiu que ninguém pode votar duas vezes em um artigo.
Quando você usa um valor de "-1" para downvote e "1" para upvote você pode calcular a pontuação total de um artigo usando a função de agregação $sum (Ela também permitiria que você introduzisse votos ponderados mais tarde, quando você sentir que gosto disso).