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字符串处理实例详解
May 18 Python
Python 实现淘宝秒杀的示例代码
Jan 02 Python
Python 实现字符串中指定位置插入一个字符
May 02 Python
selenium+python自动化测试之多窗口切换
Jan 23 Python
python pyinstaller 加载ui路径方法
Jun 10 Python
使用PyQt4 设置TextEdit背景的方法
Jun 14 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
把vgg-face.mat权重迁移到pytorch模型示例
Dec 27 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
keras的ImageDataGenerator和flow()的用法说明
Jul 03 Python
Python re.sub 反向引用的实现
Jul 07 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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 不错的学习资料
2009/02/06 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/21 PHP
php 文件上传类代码
2011/08/06 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
php跨服务器访问方法小结
2015/05/12 PHP
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
URL中“#” “?” &“”号的作用浅析
2017/02/04 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
Python写的一个简单监控系统
2015/06/19 Python
分享Python字符串关键点
2015/12/13 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
函数指针的定义是什么
2016/08/14 面试题
长辈证婚人证婚词
2014/01/09 职场文书
销售辞职报告范文
2014/01/12 职场文书
暑假家长评语大全
2014/04/17 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
2016年教师师德师风承诺书
2016/03/25 职场文书