tualização do @MongoDB MapReduce no local como
* Basicamente, estou tentando ordenar objetos pela pontuação deles na última hor
Estou tentando gerar uma soma horária de votos para objetos no meu banco de dados. Os votos são incorporados em cada objeto. O esquema do objeto fica assim:
{
_id: ObjectId
score: int
hourly-score: int <- need to update this value so I can order by it
recently-voted: boolean
votes: {
"4e4634821dff6f103c040000": { <- Key is __toString of voter ObjectId
"_id": ObjectId("4e4634821dff6f103c040000"), <- Voter ObjectId
"a": 1, <- Vote amount
"ca": ISODate("2011-08-16T00:01:34.975Z"), <- Created at MongoDate
"ts": 1313452894 <- Created at timestamp
},
... repeat ...
}
}
Esta pergunta está realmente relacionada a uma pergunta que fiz alguns dias atrásMelhor maneira de modelar um sistema de votação no MongoDB
Como eu (posso) executar um comando MapReduce para fazer o seguinte:
Só executado em objetos com pontuação = verdadeira = OR OU pontuação horária> 0. recentementeCalcule a soma dos votos criados na última horAtualizar pontuação horária = a soma calculada acima e votado recentemente = falsEu também leioAqu que eu posso executar um MapReduce no banco de dados escravo executando db.getMongo (). setSlaveOk () antes do comando M / R. Posso executar a redução em um escravo e atualizar o banco de dados mestre?
s atualizações no local são possíveis com o Mongo MapReduc