51 lines
881 B
JavaScript
51 lines
881 B
JavaScript
mongo = require("./mongoHelp.js")
|
|
|
|
agg = [
|
|
{
|
|
'$sort': {
|
|
'ts': -1
|
|
}
|
|
},{
|
|
'$unwind': {
|
|
'path': '$votes',
|
|
'includeArrayIndex': 'string',
|
|
'preserveNullAndEmptyArrays': false
|
|
}
|
|
}, {
|
|
'$sort': {
|
|
'votes.u': 1
|
|
}
|
|
}, {
|
|
'$match': {
|
|
'votes.claimed': null
|
|
}
|
|
}, {
|
|
'$match': {
|
|
'ts': {
|
|
'$gt': Date.now()-604800000
|
|
}
|
|
}
|
|
}, {
|
|
'$group': {
|
|
'_id': {
|
|
'User': '$votes.u'
|
|
},
|
|
'claims': {
|
|
'$sum': '$votes.claimable'
|
|
}
|
|
}
|
|
}, {
|
|
'$sort': {
|
|
'claims': -1
|
|
}
|
|
}, {
|
|
'$limit': 10
|
|
}
|
|
]
|
|
|
|
mongo.aggregate('avalon5', 'contents', agg).then(res => {
|
|
res.forEach(element => {
|
|
element.claims=element.claims/100
|
|
console.log(element)
|
|
})
|
|
}) |