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

yipeiwu_com6年前Python基础

本文实例讲述了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使用simplejson模块解析JSON的方法

详解Python使用simplejson模块解析JSON的方法

1,Json模块介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript...

python中os操作文件及文件路径实例汇总

本文实例讲述了python中os操作文件及文件路径的方法。分享给大家供大家参考。具体分析如下: python获取文件上一级目录:取文件所在目录的上一级目录 复制代码 代码如下:os.pa...

Python实现基本线性数据结构

数组 数组的设计 数组设计之初是在形式上依赖内存分配而成的,所以必须在使用前预先请求空间。这使得数组有以下特性:      1、请求空间以后大...

Django框架模板用法入门教程

本文实例讲述了Django框架模板用法。分享给大家供大家参考,具体如下: Django 模板标签 if/else 标签 基本语法格式如下: {% if condition %}...

python实现按行切分文本文件的方法

本文实例讲述了python实现按行切分文本文件的方法。分享给大家供大家参考,具体如下: python脚本利用shell命令来实现文本的操作, 这些命令大大减少了我们的代码量。 比如按行切...