MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Truy vấn Mongodb:Bản ghi mới nhất theo ngày cho từng mục

Hãy thử với đoạn mã sau

db.collection.aggregate([
            {$group: {
                    "_id": "$device_id",
                    "gateway_id": {"$last":"$gateway_id"},
                     data: {$last: '$data'},
                     date: {$last: '$date_time'},
                }},
            {$project: {
                     "device_id": "$_id",
                      "gateway_id": "$gateway_id",
                      "data": "$data",
                      "date_time": "$date"
                  }},
            {$sort: {
                    'date': -1
                }}
        ])

Trong nhóm truy vấn ở trên theo id thiết bị và ngày, dữ liệu và gateway_id sẽ là hàng mới nhất trong mỗi hàng.

Đầu ra là-

{
    "result" : [ 
        {
            "_id" : 29,
            "gateway_id" : 1,
            "data" : [ 
                {
                    "r" : 203,
                    "v" : 3002
                }, 
                {
                    "r" : 221,
                    "v" : 3006
                }
            ],
            "device_id" : 29,
            "date_time" : "a"
        }, 
        {
            "_id" : 28,
            "gateway_id" : 1,
            "data" : [ 
                {
                    "r" : 203,
                    "v" : 3002
                }, 
                {
                    "r" : 221,
                    "v" : 3006
                }
            ],
            "device_id" : 28,
            "date_time" : "b"
        }, 
        {
            "_id" : 27,
            "gateway_id" : 1,
            "data" : [ 
                {
                    "r" : 203,
                    "v" : 3642
                }, 
                {
                    "r" : 221,
                    "v" : 3666
                }
            ],
            "device_id" : 27,
            "date_time" : "a"
        }
    ],
    "ok" : 1
}

Cảm ơn



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xác thực dòng lệnh của MongoDB shell không thành công

  2. Làm cách nào để cập nhật trường ngày tháng trong bảng điều khiển mongo?

  3. Định cấu hình GridFS Chunksize trong MongoDB

  4. Làm thế nào để cài đặt trình điều khiển php mongodb trên Windows 8 và máy chủ wamp?

  5. Truy vấn danh sách có trong danh sách khác trong mongodb