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 相关文章推荐
python文件比较示例分享
Jan 10 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
Python编程实现控制cmd命令行显示颜色的方法示例
Aug 14 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
Python3几个常见问题的处理方法
Feb 26 Python
python实现简单五子棋游戏
Jun 18 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
Mysql数据库反向生成Django里面的models指令方式
May 18 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 Python
详解Python中import机制
Sep 11 Python
python全面解析接口返回数据
Feb 12 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
PHP读取XML值的代码(推荐)
2011/01/01 PHP
常见的PHP五种设计模式小结
2011/03/23 PHP
php中文验证码实现方法
2015/06/18 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
PHP count()函数讲解
2019/02/03 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
python mock测试的示例
2020/10/19 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
出纳员岗位职责风险
2014/03/06 职场文书
解除财产保全担保书
2014/05/20 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
师德师风自我评价范文
2014/09/11 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书
PHP命令行与定时任务
2021/04/01 PHP