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

203
Visualizações
convertir la cadena de fecha en una matriz anidada de objetos (MongoDB)

Lo que quiero lograr es encontrar un documento específico en ese mes actual según la fecha proporcionada. La fecha se almacena como una cadena, para poder comparar la fecha, primero necesito convertir la fecha. Sin embargo, tengo problemas para convertir la cadena de fecha en una matriz anidada de objetos.

Mis colecciones:

 { sections: [{ fields: [{ name: 'Date', value: '2020-11-30T15:59:59.999Z' // this is string }, { name: 'Title', value: 'My book' }, { name: 'Author', value: 'Henry' } ] ] } }

Lo que he probado:

1)

 const existingReport = await Report.find({ $expr: { $gte: [ { $dateFromString: { dateString: "$sections.field[0].value", }, }, moment(payload.forPeriod).startOf("month").toDate(), ], $lt: [ { $dateFromString: { dateString: "$sections.field[0].value", }, }, moment(payload.forPeriod).endOf("month").toDate(), ], }, });
 const existingReport1 = await Report.aggregate([ { $addFields: { formattedData: { $cond: { if: { $eq: ["$sections.field.value", "Date"], }, then: { $dateFromString: { dateString: "$sections.field.value", }, }, else: "$sections.field.value", }, }, }, }, ]);
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Simplemente puede hacer $toDate con la ayuda de 2 $reduce para iterar la matriz de sections y fields .

 db.collection.aggregate([ { "$match": { $expr: { $eq: [ true, { "$reduce": { "input": "$sections", "initialValue": false, "in": { "$reduce": { "input": "$$this.fields", "initialValue": false, "in": { $or: [ "$$value", { $and: [ { $gte: [ { "$toDate": "$$this.value" }, new Date("2020-11-01") ] }, { $lte: [ { "$toDate": "$$this.value" }, new Date("2020-11-30") ] } ] } ] } } } } } ] } } } ])

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

about 4 years ago · Juan Pablo Isaza 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