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

189
Visualizações
El operador MongoDb no funciona para la matriz de propiedades del objeto

Tengo un problema con la consulta de MongoDB . Nuestra colección se llama products y los datos se colocan de esta manera.

 { "_id":"61b823681975ba537915cb0c", "salesInfo":{ "_id":"61b823681975ba537915c23c", "salesDate":[ { "_id":"61b3aa4a7b04b30cd0a76b06", "salesQuantity":100, "soldPieces":36, "holdPieces":0 }, { "_id":"61b3aa4a7b04b30cd0a75506", "salesQuantity":100, "soldPieces":36, "holdPieces":0 } ] } }

Quiero agregar un nuevo field llamado percentageSold vendido dentro de una matriz de objetos, y el valor debe ser el cálculo de la siguiente fórmula ((soldPieces + holdPieces) / salesQuantity * 100) .

Mi consulta es esta, pero devuelve null para la propiedad percentageSold .

 db.products.aggregate( [ { $addFields: { "salesInfo.salesDate.percentageSold": {$divide: [{$add: ["$salesDate.soldPieces", "$salesDate.holdPieces"]}, {$multiply: ["$salesDate.salesQuantity", 100]}]} } } ])
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Como salesInfo.salesDate es un campo de matriz, debe usar un operador de matriz como $map para realizar una operación por elementos.

 db.products.aggregate([ { $addFields: { "salesInfo.salesDate": { "$map": { "input": "$salesInfo.salesDate", "as": "s", "in": { "_id": "$$s._id", "salesQuantity": "$$s.salesQuantity", "soldPieces": "$$s.soldPieces", "holdPieces": "$$s.holdPieces", "percentageSold": { $divide: [ { $add: [ "$$s.soldPieces", "$$s.holdPieces" ] }, { $multiply: [ "$$s.salesQuantity", 100 ] } ] } } } } } } ])

Aquí está el parque infantil de Mongo para su referencia.

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