mongo按照某个字段,取出最新的几条数据

# last_n是数字类型,代表最新的几条数据
db.集合名.aggregate([
    {
        "$sort": {"时间字段": -1, "数据标识字段": 1}
    },
    {
        "$group": {
            "_id": "$数据标识字段",
            "latestData": {"$push": "$$ROOT"}
        }
    },
    {
        "$project": {
            "latestData": {"$slice": ["$latestData", last_n]}
        }
    }, {
        "$unwind": "$latestData"
    },
    {
        "$replaceRoot": {"newRoot": "$latestData"}
    }
])

  

posted @ 2024-01-29 09:09  NAVYSUMMER  阅读(12)  评论(0编辑  收藏  举报
交流群 编程书籍