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生成随机MAC地址
Mar 10 Python
Python中的测试模块unittest和doctest的使用教程
Apr 14 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
May 14 Python
Python实现希尔排序算法的原理与用法实例分析
Nov 23 Python
Python将图片转换为字符画的方法
Jun 16 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
Python对象中__del__方法起作用的条件详解
Nov 01 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
Jun 10 Python
简单的命令查看安装的python版本号
Aug 28 Python
Python使用UDP实现720p视频传输的操作
Apr 24 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语法(3)
2006/10/09 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
使用node.js搭建服务器
2017/05/20 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
Python ftp上传文件
2016/02/13 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
python实现网页录音效果
2020/10/26 Python
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
环境科学专业个人求职信
2013/09/26 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
公司授权委托书
2014/10/17 职场文书
党的群众路线教育实践活动调研报告
2014/11/03 职场文书
清洁工工作总结
2015/08/11 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python