337 votes

retourner une requête basée sur la date

J'ai une donnée comme ceci dans mongodb

{ 
    "latitude" : "", 
    "longitude" : "", 
    "course" : "", 
    "battery" : "0", 
    "imei" : "0", 
    "altitude" : "F:3.82V", 
    "mcc" : "07", 
    "mnc" : "007B", 
    "lac" : "2A83", 
    "_id" : ObjectId("4f0eb2c406ab6a9d4d000003"), 
    "createdAt" : ISODate("2012-01-12T20:15:31Z") 
}

Comment puis-je interroger db.gpsdatas.find({'createdAt': ??what here??}) pour qu'il me renvoie le résultat des données ci-dessus à partir de la base de données ?

1 votes

Il aurait été efficace de mentionner quelle bibliothèque nodejs vous utilisez, mais d'après l'exemple, il semble que ce soit mongoosejs

6voto

Daniel_Madain Points 63

Vous pouvez également essayer :

{
    "dateProp": { $gt: new Date('06/15/2016').getTime() }
}

2voto

Atul Yadav Points 26

Si vous utilisez Mongoose,

try {
  const data = await GPSDatas.aggregate([
    {
      $match: { createdAt : { $gt: new Date() }
    },
    {
      $sort: { createdAt: 1 }
    }
  ])
  console.log(data)

} catch(error) {
    console.log(error)
}

-3voto

udit19PyJs Points 1

Si vous voulez obtenir un enregistrement à partir d'une date, vous pouvez utiliser la méthode suivante :

(mongodbCompass 3.6.8 avec PyMongo)

mongo.db.collection.aggregate([{"$match":{"object.object.key":{"$gte":ISODate('2021-01-27T00:00:00Z').toISOString()}}}])

db.collection.find({"object.object.key":{"$gte":ISODate('2021-01-27T00:00:00Z').toISOString()}})

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X