python mongodb遍历输出某字段内容_python遍历mongodb时,如何保存游标位置到本地

d71e46585eaf24f7e1536cbc7862d32e.png

倚天杖

如果文档中的 _id 字段是由 mongo 自动生成的, 那么本身这个字段就带有时序, 因为 ObjectId 四要素中就有插入时间, query 语句中啥也不写, 其结果就是按时序排序的. 下面语句就可以返回 collection 中的最新 10 条数据:db.collection.find().sort({ _id : -1 }).limit(10)也可以根据 ObjectId 包含创建时间的特性, 通过构造 ObjectId 的办法, 来指定查询某时间段内的文档. 下面的 python 程序可以查询 2018-04-10 日之后插入到 collection 中的文档 (手敲, 亲测有效):#!/usr/bin/pythonimport sysimport datetimefrom pymongo import MongoClientfrom bson import objectidmongo_conn = MongoClient("mongodb://user:pass@11.22.33.44:27017")gen_time = datetime.datetime(2018, 4, 10)dummy_id = objectid.ObjectId.from_datetime(gen_time)cursor = mongo_conn['your_db']['collection'].find(    {'_id' : {'$gt' : dummy_id} })for v in cursor:    print(v)所以, 你的需求中, 只需要保存 _id 字段即可, 或者保存一个时间戳也可以.另, 如果你的这个 collection 被设置为 Capped Collections, 那么你还可以考虑使用 Tailable Cursors 来时刻获取更新数据. 当然我估计这应该不符合你的使用场景.参考:mongo ObjectIdmongo Tailable Cursorsmongo Capped Collectionspython datetime

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值