python根据时间生成mongodb的ObjectId的方法

 更新时间:2015年03月13日 09:57:31   作者:liuli  
这篇文章主要介绍了python根据时间生成mongodb的ObjectId的方法,涉及Python操作mongodb数据库的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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中密码加盐的学习体会小结

    这篇文章主要介绍了关于python中密码加盐的学习体会小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python用于学习重要算法的模块pygorithm实例浅析

    Python用于学习重要算法的模块pygorithm实例浅析

    这篇文章主要介绍了Python用于学习重要算法的模块pygorithm,结合实例形式简单分析了pygorithm模块的功能、算法调用、源码获取、时间复杂度计算等相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • python使用MkDocs自动生成文档的操作方法

    python使用MkDocs自动生成文档的操作方法

    python代码注释风格有很多,比较主流的有 reStructuredText风格、numpy风格、Google风格,自动生成文档的工具也有很多,常见的有:Pydocs,Sphinx和MkDocs,本文给大家介绍了python使用MkDocs自动生成文档的操作方法,需要的朋友可以参考下
    2024-06-06
  • 跟老齐学Python之传说中的函数编写条规

    跟老齐学Python之传说中的函数编写条规

    在使用函数的时候,首先要把它放在对象的层面考量,它不是什么特殊的东西,尽管我们使用了不少篇幅讲述它,但它终归还是一个对象。
    2014-10-10
  • python中使用正则表达式的连接符示例代码

    python中使用正则表达式的连接符示例代码

    在正则表达式中,匹配数字或者英文字母的书写非常不方便。因此,正则表达式引入了连接符“-”来定义字符的范围,下面这篇文章主要给大家介绍了关于python中如何使用正则表达式的连接符的相关资料,需要的朋友可以参考下。
    2017-10-10
  • Python爬虫之PhantomJS和handless的使用详解

    Python爬虫之PhantomJS和handless的使用详解

    这篇文章主要介绍了Python爬虫之PhantomJS和handless的使用详解,PhantomJS是一个基于Webkit的headless浏览器,它会把网站加载到内存并使用webkit来编译解释执行页面上的JavaScript代码,由于不进行css和gui渲染、不展示图形界面,需要的朋友可以参考下
    2023-09-09
  • 有关pycharm登录github时有的时候会报错connection reset的问题

    有关pycharm登录github时有的时候会报错connection reset的问题

    这篇文章主要介绍了有关pycharm登录github时有的时候会报错connection reset的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Python MOCK SERVER moco模拟接口测试过程解析

    Python MOCK SERVER moco模拟接口测试过程解析

    这篇文章主要介绍了Python MOCK SERVER moco模拟过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Tensorflow 实现释放内存

    Tensorflow 实现释放内存

    今天小编就为大家分享一篇Tensorflow 实现释放内存,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • PyCharm添加Anaconda中的虚拟环境Python解释器出现Conda executable is not found错误解决

    PyCharm添加Anaconda中的虚拟环境Python解释器出现Conda executable is not

    这篇文章主要给大家介绍了关于PyCharm添加Anaconda中的虚拟环境Python解释器出现Conda executable is not found错误的解决办法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02

最新评论