MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Przeszukuj wyszukiwanie MongoDB tylko w określonych godzinach

Myślę, że możesz użyć $godzina, $dzień ..., aby rozbić datę w agregacji.Na przykład:

moje dane:

db.orders.find()
{ "_id" : ObjectId("5760bf21b05d6825e05fa23d"), "item" : "test1", 
          "create_at" : ISODate("2016-04-30T11:00:00Z") }
{ "_id" : ObjectId("5760bf30b05d6825e05fa23e"), "item" : "test2", 
          "create_at" : ISODate("2016-04-30T12:00:00Z") }
{ "_id" : ObjectId("5760bf37b05d6825e05fa23f"), "item" : "test3",  
          "create_at" : ISODate("2016-04-30T13:00:00Z") }

moje zapytanie:

db.orders.aggregate([{$project:{hour:{$hour:"$create_at"}}}, 
                 {$match:{hour:{"$in":[11,12]}}}])
{ "_id" : ObjectId("5760bf21b05d6825e05fa23d"), "hour" : 11 }
{ "_id" : ObjectId("5760bf30b05d6825e05fa23e"), "hour" : 12 }

Oto dokument



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zaktualizuj wiele dokumentów w kolekcji za pomocą zmiany przypadku

  2. Jak uzyskać rozmiar pojedynczego dokumentu w Mongodb?

  3. Aktualizujesz wiele poddokumentów za pośrednictwem Mongoose?

  4. Mongoose, znajdź, zwróć określone właściwości

  5. Automatycznie przedawniaj dokumenty kolekcji MongoDB