sql >> Database teknologi >  >> NoSQL >> MongoDB

Forespørgsel om indlejrede dokumenter ved at matche datoer i MongoDB

Du behøver ikke gøre brug af regex her, noget enklere som dette burde virke:

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

Dette burde fungere, hvis de datoer, du har gemt i DB'en, er uden tid (kun dag, måned, år)

Hvis du nu har gemt datoer med new Date(), som også inkluderer tidskomponenterne, så skal du oprette et datointerval, som inkluderer alle øjeblikke for den pågældende dag :

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)}})

Bemærk - API'et for Dato er Dato(ÅÅÅÅ,MM,DD) og tæller for 'måned' starter fra '0' og tæller for 'dato' starter fra '1'.




  1. sails-mongo adapter, normaliser fejlmeddelelser

  2. Indsættelse af et stort udvalg af objekter i mongodb fra nodejs

  3. Mongoose indeksering i produktionskode

  4. Sådan nemt administreres databaseopdateringer og sikkerhedsrettelser