Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

490
Vistas
Almacene y recupere la fecha en formato dd MMM yyyy en el modelo MongoDB

Tengo un modelo MongoDB que contiene un campo de fecha cuyo tipo se define como Date.now. Cualquier fecha se convierte al formato de fecha ISO. Dentro del modelo, la fecha se define como:

 xDate : { type: Date.now, required: true }

Paso la fecha actual como:

 var d = new Date(); var temp = d.toISOString(); var subStr = temp.substr(10,temp.length - 1); var curDate = temp.replace(subStr, "T00:00:00.000Z"); console.log(curDate);

Sin embargo, la fecha se almacena como una cadena ISO dentro del esquema de MongoDB. Intento consultarlo usando Mongoose usando la siguiente consulta:

 X. find({ xDate: curDate }) .exec(function(err, doc) { var response = { status : 200, message : doc }; if (err) { console.log('Error'); response.status = 500; response.message = err; } else if (!doc) { console.log("Documents against the date not found in database" ,curDate); response.status = 404; response.message = { "message" : "Documents not found for " + curDate }; } res .status(response.status) .json(response.message); });

Sigo obteniendo una matriz json en blanco a pesar de que los datos están allí. Dentro de la tabla, la fecha x se almacena en formato AAAA-MM-DD.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La fecha dentro de mongo no se almacena en la cadena ISO. Si guarda su modelo como Date.now, guardará un nuevo objeto Date, no una cadena ISO. Entonces, una forma fácil de consultar es consultar por el new Date() .

También tenga en cuenta que su consulta es difícil de ser cierta, ya que tendrá dificultades para obtener exactamente la misma fecha en que se almacenan sus datos. Creo que la mejor opción para usted es usar filtros $lt o $gt .

La nueva consulta debería ser algo como:

 let currDate = new Date() // change the date using class methods X.find({ xDate: {$lt: currDate} }).exec...
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda