MongoDB:如何获取最早的文档?

MongoDB:如何获取最早的文档?,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我拥有的MongoDB集合: /* 1 */ { "_id" : ObjectId("5f4c93478ac8f4f9d79151bd"), "property" : "prop_1", "created" : ISODate("2020-01-01T22:00:00.000Z") } /* 2 */ { "_id" : O

我拥有的MongoDB集合:

/* 1 */
{
    "_id" : ObjectId("5f4c93478ac8f4f9d79151bd"),
    "property" : "prop_1",
    "created" : ISODate("2020-01-01T22:00:00.000Z")
}

/* 2 */
{
    "_id" : ObjectId("5f4c93628ac8f4f9d79151be"),
    "property" : "prop_1",
    "created" : ISODate("2020-01-02T22:00:00.000Z")
}

/* 3 */
{
    "_id" : ObjectId("5f4c93708ac8f4f9d79151c0"),
    "property" : "prop_2",
    "created" : ISODate("2020-01-01T22:00:00.000Z")
}

/* 4 */
{
    "_id" : ObjectId("5f4c93738ac8f4f9d79151c1"),
    "property" : "prop_2",
    "created" : ISODate("2020-01-02T22:00:00.000Z")
}
我在查询属性属性等于某个特定值的最旧文档时遇到了麻烦,例如,我需要查找属性属性等于prop_1的最旧文档:

您能提供一些建议吗?

用于按属性筛选,并获取最旧的:

db.collection.aggregate([
    { $match: { property: "prop_1" } },
    { $sort: { created: -1 } }.
    { $limit: 1 }
])
用于按属性筛选,并获取最早的属性:

db.collection.aggregate([
    { $match: { property: "prop_1" } },
    { $sort: { created: -1 } }.
    { $limit: 1 }
])
您可以使用排序和限制方法

您可以使用排序和限制方法

db.collection.find({ property: "prop_1" })
.sort( { _id: -1 } ) // you can use { created: -1 }, but _id is always unique and made by timestamp
.limit(1);