Estoy obteniendo la fecha de la base de datos mongo y devuelve $first , $max , $min y $last , sin embargo, sucede algo muy inusual: $min es mayor que $max . Aquí está mi código:
let Lowestdate = await ETHMongo.aggregate([ { $match: { createdAt: { $gte: new Date(last), $lte: new Date(NEW) } }, }, { $group: { _id: null, minFee_doc: { $first: "$$ROOT" }, minFee: { $min: "$one" }, firstFee: { $first: "$one" }, lastFee: { $last: "$one" }, maxFee: { $max: "$one" }, }, }, ]).then((result) => {});Parece que sus "números" se guardan como string , en la comparación de cadenas "99" > "1000000" .
Afortunadamente, puede resolver esto muy fácilmente, simplemente convierta la cadena en número usando $toInt
{ $group: { _id: null, minFee_doc: { $first: "$$ROOT" }, minFee: { $min: {$toInt: "$one"} }, firstFee: { $first: "$one" }, lastFee: { $last: "$one" }, maxFee: { $max: {$toInt: "$one"} }, }, }