Necesito buscar a través de una gran colección de mongo y encontrar todos los documentos donde la actualización es al menos 7 días después de la creación.
Mis datos se ven básicamente así:
"createdAt" : ISODate("2021-04-03T10:17:21.256Z"), "updatedAt" : ISODate("2021-04-03T10:17:21.256Z")Apreciaría cualquier ayuda.
Use $expr en el partido. $dateAdd solo está disponible en mongodb 5.0.
db.collection.aggregate([ { "$match": { $expr: { $gt: [ "$updatedAt", { $dateAdd: { startDate: "$createdAt", unit: "day", amount: 7 } } ] } } } ]) Use $expr en el partido. $add .
604800000 = 7 * 24 * 60 * 60 * 1000
db.collection.aggregate([ { "$match": { $expr: { $gt: [ "$updatedAt", { $add: [ "$createdAt", 604800000 ] } ] } } } ]) usa$where
db.collection.find({ "$where": "this.updatedAt > new Date(this.createdAt.getTime() + 604800000)" })