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

194
Visualizações
¿Cómo agrupar en Motor 1.1?

Estoy usando el cliente asíncrono de Motor para mongoDB en el proyecto actual, y me gustaría usar la agregación como agrupar por para la consulta. Los documentos contienen información breve sobre el grupo, pero no hay ejemplos de cómo hacerlo.

Parámetros:

  1. clave: campos para agrupar (ver descripción anterior)
  2. condición: especificación de filas a considerar (como una especificación de consulta find())
  3. initial: valor inicial del objeto contador de agregación
  4. reducir: función de agregación como una cadena de JavaScript

No sé qué significa exactamente parámetro inicial y reducción (¿como una cadena de javascript?). ¿Puedes dar un ejemplo?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El método de group de Motor toma los mismos parámetros que el de PyMongo. Adaptando el ejemplo del grupo PyMongo a Motor:

 from bson.code import Code from tornado import ioloop, gen from motor import MotorClient reducer = Code(""" function(obj, prev){ prev.count++; } """) db = MotorClient().test @gen.coroutine def example(): yield db.things.remove({}) yield db.things.insert_many([ {'x': 1}, {'x': 2}, {'x': 2}, {'x': 3}, ]) results = yield db.things.group(key={"x": 1}, condition={}, initial={"count": 0}, reduce=reducer) for doc in results: print(doc) ioloop.IOLoop.current().run_sync(example)

Esto imprime:

 {'count': 1.0, 'x': 1.0} {'count': 2.0, 'x': 2.0} {'count': 1.0, 'x': 3.0}
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