【问题标题】:How to get last N modified MongoDB documents?如何获取最后 N 个修改的 MongoDB 文档?
【发布时间】:2012-10-13 08:45:18
【问题描述】:

每个文档都有一个 date 属性,该属性会在文档被修改时使用 new MongoDate() 进行更新。

如何获得N个最后修改的文档?但不是从某个特定日期开始。只有 N 个最新日期的文档。也许像 sort 这样的东西不是作为游标方法,而是存在查询参数?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    在我正在进行的一个项目中,我使用类似这样的方法以相反的顺序(从新到旧)提取最后五个条目

    for e in coll.find().sort("data_ins", -1).limit(5):
        # do something
    

    data_ins 是一个时间戳,但我想它适用于每个可排序的字段。

    【讨论】:

    • 谢谢。这将工作一段时间。但是,可以将所有集合的文档放入具有大型集合的游标中吗?
    • 使用 explain mongodb.org/display/DOCS/Explain 检查 mongo 是否在 data_ins 上使用索引。那么获取最后 N 个条目应该可以并且很快。
    • @Vitaly:在我的项目中,我不希望超过 100 或 150 个文档,所以这是一个很好的解决方案,如果您打算使用非常大的集合,则应该使用索引。
    • 另一种方法是有一个单独的集合,您可以在其中保存 N 个最后修改的文档,作为副本或参考
    猜你喜欢
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2011-12-05
    • 2014-10-06
    • 2017-08-03
    • 1970-01-01
    • 2017-04-15
    相关资源
    最近更新 更多