Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

134
Visualizações
¿Cómo group_by en mongoDb con los resultados de salida?

A continuación se muestra mi código ..

 group = { $group: { "_id": { "user_email": "$user_email", "sender_email": "$sender_email" }, "count": { "$sum": 1 } } }; Schema.aggregate(([group]),function(errors,results){ console.log(results); });

mi valor de salida es:

 [ { _id: { user_email: '123@gmail.com', sender_email: '235@gmail.com' }, count: 5 }, { _id: { user_email: '123m@gmail.com', sender_email: '235@gmail.com' }, count: 16 }, { _id: { user_email: '455@gmail.com', sender_email: '785@gmail.com' }, count: 8 }, { _id: { user_email: '123@gmail.com', sender_email: '235@gmail.com' }, count: 4 } ]

El registro anterior muestra el conteo de llamadas individuales. Necesito saber cuántos user_email han presionado sender_email (un user_email puede presionar un sender_email muchas veces, pero si un user_email presionó a sender_email muchas veces, no necesito que el conteo como 'muchos' pero necesito el conteo como 1, de la misma manera si varios usuarios han ingresado a sender_email, no quiero el conteo de cuántas veces cada usuario ha ingresado a sender_email sino cuántos user_email ha ingresado a sender_email). ¿Necesito una consulta mongoDb para ello?

 { user_email: '123@gmail.com', sender_email: '235@gmail.com' }, count: 5 }

123@gmail.com tocó 235@gmail.com 5 veces, pero necesito saber cuántos sender_email individuales han sido tocados por varios user_email sin pasar ningún parámetro.

A continuación se muestra mi colección:

 { "_id" : ObjectId("590182b3168e590182b315b2"), "updatedAt" : ISODate("2017-04-27T12:37:03.385Z"), "createdAt" : ISODate("2017-04-27T05:33:39.563Z"), "user_email" : "123@gmail.com", "sender_email" : "235@gmail.com", "status" : 1, "__v" : 0 } { "_id" : ObjectId("590182c4a182c4aaa2d21"), "updatedAt" : ISODate("2017-04-27T12:37:03.385Z"), "createdAt" : ISODate("2017-04-27T05:33:56.122Z"), "user_email" : "123@gmail.com", "sender_email" : "235@gmail.com", "status" : 1, "__v" : 0 } { "_id" : ObjectId("590184182c4a1821d98a028"), "updatedAt" : ISODate("2017-04-27T12:37:03.385Z"), "createdAt" : ISODate("2017-04-27T05:39:40.425Z"), "user_email" : "561@gmail.com", "sender_email" : "235@gmail.com", "status" : 1, "__v" : 0 }
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

group = { $group: { "_id": { "user_email": "$user_email", "sender_email": "$sender_email" }, "_id": { "sender_email": "$sender_email" }, "count": { "$sum": 1 } } };

Mi salida:

 [ { _id: { sender_email: '123@gmail.com' }, count: 1 }, { _id: { sender_email: '345@gmail.com' }, count: 4 } ]

Cambié mi consulta y obtuve el resultado requerido.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda