sql >> データベース >  >> NoSQL >> MongoDB

特定の時間にのみMongoDB検索をクエリする

    $ hour、$ day ...を使用して、日付を集計で分類できると思います。例:

    私のデータ:

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

    私の質問:

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

    こちらがドキュメントです



    1. Mongo集計複数の値に一致

    2. ObjectID参照のためのマングースでのUUIDの使用

    3. Pythonでループ内のmongoカーソルを反復する方法

    4. IPアドレスをmongoDBに保存します