在没有ObjectId的情况下获取MongoDB集合中的下一个项目

时间:2017-02-27 13:29:54

标签: mongodb pymongo

我可以访问MongoDB集合,但条目的_id是一个字符串,确切地说是一个url。

我想基于之前的_id检索集合中的下一个文档。我环顾四周,看到它可以使用ObjectID:this

我的问题是数据库在_id中没有ObjectID,也没有可能用作ObjectID替代的字段(例如时间戳)。那我该如何检索下一个文件呢?

编辑:添加了集合示例

Derived2

如果我有_id“random.com”,我如何检索下一个文档,在这种情况下是_id“example.com”的文档?我正在使用pymongo。

1 个答案:

答案 0 :(得分:1)

cursor = db.coll.find({"_id": { "$gt": "the_url"}}).sort("_id").limit(1)
for doc in cursor:
    print(doc['_id'])

请参阅sort了解如何定义订单。 索引按字母顺序排列,我们得到_id的下一个值。

我们仍然可以使用sort("natural")查询下次插入,即插入时间顺序。

cursor = db.coll.find({"_id": { $gt":the_url"}}).sort("natural").limit(1)