Tengo un pequeño problema con los datos de retorno de Mongo find() frente a findOneAndReplace().
Primero, saber que estoy trabajando en una API que consulta a Mongo y devuelve datos en formato JSON.
El problema que tengo es que si hago un findOneAndReplace() para actualizar y devolver el documento modificado, así:
// javaDocument() is just a org.bson.Document var modDoc = jobsCollection.findOneAndReplace( javaDocument({"_id": jobid}), javaDocument(jobData), foarOptions ); if(isDefined("modDoc")) { sReturn.DATA = deserializeJSON(modDoc.toJSON()); }las fechas establecidas en mi documento regresan dentro de las subclaves denominadas "$ fecha", que no quiero:
Realmente debería decir: "created_at": "2022-02-03T10:15:01.634Z"
Sin embargo, hacer un simple jobsCollection.find() parece devolverme la fecha apropiadamente, así:
var data= []; jobsCollection.find( javaDocument({}) ).into(data); sReturn.DATA = data; Que me estoy perdiendo aqui ? Podría simplemente copiar la clave "$fecha" y arreglar la estructura, pero no siempre sé en qué parte de la estructura tendré fechas... ¿Hay alguna manera de que pueda devolver esto correctamente con FindOneAndReplace() ? Estoy pensando que podría tener algo que ver con modDoc.toJSON() pero aún no he encontrado mi respuesta ...
Gracias por tu tiempo. ¡Salud! Palmadita