Запустите команду оболочки MongoDB mapreduce в Java - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу запустить команду ниже при загрузке Spring, Java. Как я могу запустить эту команду в mongoDb из Java?

db.user.mapReduce(
    function(){
        emit(
            {
                a:this.a, 
                b:this.b
            } ,
            {
                id : this._id,
                score : this.score
            }
          )
    } ,
    function(key, values){
        return {
            "chunk" : key,
            "up"  : values.splice(0,1) ,
            "down" : values.splice(-1),
            "stay" : values
        }
    },
    {
        query:{} ,
        out:"result"
    }
)
.find().forEach(function(item){
    if(typeof item.value.up !== 'undefined'){
        db.user.updateMany({_id : { $in : item.value.up.map(i => i.id) } }, { $inc : {"counter":1} })
    }
})
...