ObjectID简介

mongo存储的数据在没有特别指定_id数据类型时,默认类型为ObjectID‘_id’: ObjectId(‘55717c9eb2c983c127000000’)

ObjectId is a 12-byte BSON type, constructed using:

a 4-byte value representing the seconds since the Unix epoch,
a 3-byte machine identifier,
a 2-byte process id, and
a 3-byte counter, starting with a random value.

python处理方式
基本思路就是转换成时间对象 ,然后处理.

objectid – Tools for working with MongoDB ObjectIds
Tools for working with MongoDB ObjectIds.class bson.objectid.ObjectId(oid=None)
Initialize a new ObjectId.

从ObjectID生成时间对象

from bson.objectid import ObjectId
a = ObjectId('55717c9eb2c983c127000000')
a.generation_time.timetuple() In [29]: a.generation_time.timetuple()
Out[29]: time.struct_time(tm_year=2015, tm_mon=6, tm_mday=5, tm_hour=10, tm_min=40, tm_sec=30, tm_wday=4, tm_yday=156, tm_isdst=0) #到了这种格式就可以随便处理了
In [30]: time.strftime("%Y-%m-%d %H:%M:%S",a.generation_time.timetuple())
Out[30]: '2015-06-05 10:40:30'

生成ObjectID

# 时间对象转换
>>> gen_time = datetime.datetime(2010, 1, 1)
>>> dummy_id = ObjectId.from_datetime(gen_time)>>> ObjectId(b'foo-bar-quux')
ObjectId('666f6f2d6261722d71757578')
>>> ObjectId('0123456789ab0123456789ab')
ObjectId('0123456789ab0123456789ab')
>>>
>>> # A u-prefixed unicode literal:
>>> ObjectId(u'0123456789ab0123456789ab')
ObjectId('0123456789ab0123456789ab')

python -【mongo】 处理ObjectID (ObjectID和字符串之间的转换)相关推荐

  1. Python bytes字节串与string字符串之间的转换

    目录 背景 代码 总结 背景 在工作中经常会碰到字节串(bytes)与字符串(string)之间转换的问题,做个记录. bytes只负责用字节序列的形式(二进制形式)存储数据,不关心数据本身是图片.文 ...

  2. Python的时间:秒和字符串之间的转换

    转自:http://www.2cto.com/kf/201109/102535.html 1)秒数 ==>字符串 1234567 from time import *  def secs2str ...

  3. java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

  4. 基本类型与字符串之间的转换

    基本类型与字符串之间的转换 基本类型 与 字符串类型 之间的相互转换     基本类型->字符串(String)         1.基本类型的值+""  最简单的方法(工作 ...

  5. JavaSE(六)包装类、基本类型和字符串之间的转换、==和equals的区别

    一.包装类 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足, 在设计类时为每个基本数据类型设计了一个对应的类进行代表,这 ...

  6. C++中数字与字符串之间的转换 scanf string总结(复习必读)

    1 string的scanf读入操作 C++里面控制台输入直接使用cin操作就可以了:或者getline(istringstream,string); 字符和数字加减就是字符的ASCII码和数字直接加 ...

  7. ByteArray、16进制、字符串之间的转换

    ByteArray.16进制.字符串之间的转换: package fengzi.convert {import flash.utils.ByteArray;public class ByteArray ...

  8. Java之Base64实现文件和字符串之间的转换

    摘要:Java通过Base64加密解密实现文件和字符串之间的转换! Base64.java package com.qdexam.util;import java.io.FileInputStream ...

  9. java base64字符 转图片_JAVA实现图片与base64字符串之间的转换详解

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...

  10. Java基础——基本类型和包装类、基本类型和字符串之间的转换

    基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更 ...

最新文章

  1. java新手笔记21 接口
  2. 自己动手开发智能聊天机器人完全指南(附python完整源码)
  3. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
  4. JEECG Framework 3.3.1 beta版本发布第一天战报(文档下载量破1300、代码下载量破700)
  5. qt ui界面无法移动控件_都是知识点!移动端UI设计最基本的10种APP界面类型(上)...
  6. react map循环生成的button_常见 React 面试题
  7. 周鸿祎为何忘不掉搜索?
  8. WIN10下使用VS2017的MSVC编译FFMPEG3.4.2动态静态库
  9. echarts引入china报错(The GeoJSON of the map must be provided)
  10. linux谷歌浏览器无法登陆,新版CentOS 7.1上的谷歌浏览器无法启动
  11. 基于图神经网络的推荐系统
  12. 三分子模型(trimolecular model)
  13. docker compose自定义IP报错ERROR: Pool overlaps with other one on this address space
  14. Rails Controller中的concerns测试编写
  15. clearcase使用小结
  16. Windows下安装CUDA
  17. win11恢复旧版右键菜单
  18. 临界区例子及相关函数翻译
  19. 巴菲特旗下公司持有470亿美元苹果股票 他用的却是20美元的三星翻盖机
  20. 何为SCA?听听一枚产品汪妹子的纯干货分享

热门文章

  1. ajax请求的同步和异步
  2. java使用sigar获取服务器的信息
  3. win10、oneplus7pro 使用 Kali
  4. python transpose_对python 矩阵转置transpose的实例讲解
  5. 快速增加微博粉丝的十六大技巧
  6. 若依前后端分离框架集成websocket
  7. python教程视频哪个好-Python入门视频看哪个好?适合初学者的教学视频推荐
  8. Premiere 出现“该级别的帧大小/帧速率无效。请减小视频范围或帧速率,或者增加配置文件和级别,然后重试”的解决办法
  9. apex服务器不稳定,apex英雄掉帧不稳定怎么办-apex英雄掉帧不稳定解决办法_牛游戏网...
  10. 2022年中高级前端需要学习的25种前端技术栈