sql >> Databáze >  >> NoSQL >> MongoDB

Dotaz na vyhledávání MongoDB pouze v určitých hodinách

Myslím, že můžete použít $hodina, $den ... k rozdělení data v agregaci. Například:

moje údaje:

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

můj dotaz:

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

Zde je dokument



  1. MongoDB count() nesprávně vrací 0, pokud je zadán dotaz

  2. Proč má Mongoose jak schémata, tak modely?

  3. Index MongoDB/Mongoose zrychlí dotaz nebo jej zpomalí?

  4. Má každé volání v rámci volání multi() v phpredis za následek novou síťovou zpáteční cestu do redis?