MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Interroger des documents intégrés en faisant correspondre les dates dans MongoDB

Vous n'avez pas besoin d'utiliser regex ici, quelque chose de plus simple comme celui-ci devrait fonctionner :

db.posts.find({"headers.Date": new Date(2001, 06, 06) })

Cela devrait fonctionner si les dates que vous avez enregistrées dans la base de données sont sans heure (juste jour, mois, année)

Maintenant, si vous avez des dates enregistrées avec new Date(), qui inclut également les composants de l'heure, vous devez créer une plage de dates qui inclut tous les moments de ce jour :

db.posts.find( //query for all moments/time of a specific date
  {"headers.Date": {"$gte": new Date(2001, 6, 6), "$lt": new Date(2001, 6, 7)}})

Remarque - L'API pour Date est Date(YYYY,MM,DD) et compter pour 'mois' commence à partir de '0' et compter pour 'date' commence à partir de '1'.