python根据时间生成mongodb的ObjectId的方法


Posted in Python onMarch 13, 2015

本文实例讲述了python根据时间生成mongodb的ObjectId的方法。分享给大家供大家参考。具体分析如下:

mongodb的_id为ObjectId类型,ObjectId内是包含时间戳信息的,这样我们在保存数据的时候就不需要再单独记录一个添加时间了,如果需要按照时间查询,我们可以先把时间变化成可查询的ObjectId,再通过_id字段查询,由于mongodb的_id是主键,查询效率非常高。下面的函数给出了如何把时间换算成ObjectId,同时该函数还可以指定时间的偏移量,比如多少天前的时间。

def object_id_from_datetime(from_datetime=None,span_days=0,span_hours=0,span_minutes=0,span_seconds=0,span_weeks=0):

    '''根据时间手动生成一个objectid,此id不作为存储使用'''

    if not from_datetime:

        from_datetime = datetime.datetime.now()

    from_datetime = from_datetime + datetime.timedelta(days=span_days,hours=span_hours,minutes=span_minutes,weeks=span_weeks)

    return ObjectId.from_datetime(generation_time=from_datetime)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 Python
Python中使用语句导入模块或包的机制研究
Mar 30 Python
win7上python2.7连接mysql数据库的方法
Jan 14 Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 Python
对Tensorflow中的变量初始化函数详解
Jul 27 Python
python使用pdfminer解析pdf文件的方法示例
Dec 20 Python
django获取from表单multiple-select的value和id的方法
Jul 19 Python
python3.7环境下安装Anaconda的教程图解
Sep 10 Python
python如何实现单链表的反转
Feb 10 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
Jun 01 Python
Python文件名匹配与文件复制的实现
Dec 11 Python
python实现根据窗口标题调用窗口的方法
Mar 13 #Python
Python实现遍历windows所有窗口并输出窗口标题的方法
Mar 13 #Python
Python实现windows下模拟按键和鼠标点击的方法
Mar 13 #Python
Python实现测试磁盘性能的方法
Mar 12 #Python
Python解析xml中dom元素的方法
Mar 12 #Python
Python实现Tab自动补全和历史命令管理的方法
Mar 12 #Python
Python实现将n个点均匀地分布在球面上的方法
Mar 12 #Python
You might like
删除无限级目录与文件代码共享
2006/07/12 PHP
967 个函式
2006/10/09 PHP
用php写的serv-u的web申请账号的程序
2006/10/09 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
php邮件发送,php发送邮件的类
2011/03/24 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
php微信公众平台开发(四)回复功能开发
2016/12/06 PHP
php+ajax实现仿百度查询下拉内容功能示例
2017/10/20 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
javascript中对对层的控制
2006/12/29 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
JS清空多文本框、文本域示例代码
2014/02/24 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
jQuery中eq()方法用法实例
2015/01/05 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
python实现人人网登录示例分享
2014/01/19 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
django的csrf实现过程详解
2019/07/26 Python
Python jieba库分词模式实例用法
2021/01/13 Python
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
十佳护士先进事迹
2014/05/08 职场文书
过程装备与控制工程专业求职信
2014/07/02 职场文书
幼儿园小班班务总结
2015/08/03 职场文书
小学英语教学反思范文
2016/02/15 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android