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简单实现自动删除目录下空文件夹的方法
Aug 29 Python
Python 闭包的使用方法
Sep 07 Python
Python解决八皇后问题示例
Apr 22 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
Python 获取windows桌面路径的5种方法小结
Jul 15 Python
python打包成so文件过程解析
Sep 28 Python
Python处理mysql特殊字符的问题
Mar 02 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
Mar 20 Python
用python写PDF转换器的实现
Oct 29 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获取文件夹大小函数用法实例
2015/07/01 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
Python2.x版本中maketrans()方法的使用介绍
2015/05/19 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
python返回数组的索引实例
2019/11/28 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
日语专业个人求职信范文
2014/02/02 职场文书
文明班集体申报材料
2014/05/23 职场文书
2014年计生标语
2014/06/23 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
投资意向协议书
2015/01/29 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
初二物理教学反思
2016/02/19 职场文书