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简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
Fabric 应用案例
Aug 28 Python
python+opencv实现动态物体追踪
Jan 09 Python
Python进阶之@property动态属性的实现
Apr 01 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
Oct 14 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
Feb 26 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 Python
Django如何批量创建Model
Sep 01 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&mysql(三)
2006/10/09 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
简单的PHP缓存设计实现代码
2011/09/30 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
JS input 数字验证代码
2009/07/30 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
仿微博字符限制效果实现代码
2012/04/20 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
python实现计算资源图标crc值的方法
2014/10/05 Python
Python使用py2exe打包程序介绍
2014/11/20 Python
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
python selenium 对浏览器标签页进行关闭和切换的方法
2018/05/21 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
服务标语大全
2014/06/18 职场文书
2014年副班长工作总结
2014/12/10 职场文书
骨干教师申报材料
2014/12/17 职场文书
世界气象日活动总结
2015/02/27 职场文书
统招统分证明
2015/06/23 职场文书
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS