Map reduce com join entre collections
29/05/2018
0
Olá pessoal, tudo bem?
tenho um exemplo de uma collection, onde preciso contar a quantidade de clicks e emissões de uns usuários. Já consegui fazer map reduce por usuário.
Agora preciso identificar por perfil de usuário qual seria o total de clicks e emissões, mas por idade e gênero, esta informação está em outra collection.
Como posso fazer map reduce fazendo este "join" entre collections?
Segue meu código:
Muito obrigado pelo apoio.
Atenciosamente
Andres Ruiz
Essa dúvida foi gerada a partir de um comentário na aula Map-Reduce - Curso de MongoDB - Aula 19
tenho um exemplo de uma collection, onde preciso contar a quantidade de clicks e emissões de uns usuários. Já consegui fazer map reduce por usuário.
Agora preciso identificar por perfil de usuário qual seria o total de clicks e emissões, mas por idade e gênero, esta informação está em outra collection.
Como posso fazer map reduce fazendo este "join" entre collections?
Segue meu código:
Reduce por usuario: ----------------------------------------------- first_map = function() { emit(this.UserID, {total_clicks: this.click,total_impresions: this.impresion} ); } -- reduce FUNCTION: first_reduce = function(key, values) { var result = { total_clicks: 0, total_impresions: 0}; values.forEach(function(value) { result.total_clicks += value.total_clicks; result.total_impresions += value.total_impresions; }); return result; } -- EXECUTION OF THE MAP/REDUCE: var r = db.training.mapReduce(first_map,first_reduce,{out : "ColTotals"}); r; db.ColTotals.find(); ----------------------------------------------- Segue um exemplo da collection que contem meus valores para el userid_profile: db.userid_profile.findOne() { "user_ID": 8 , "gender" : 2 , "age" : 4 }
Muito obrigado pelo apoio.
Atenciosamente
Andres Ruiz
Essa dúvida foi gerada a partir de um comentário na aula Map-Reduce - Curso de MongoDB - Aula 19
Andres Quitian
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)