python -【mongo】 处理ObjectID (ObjectID和字符串之间的转换)
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和字符串之间的转换)相关推荐
- Python bytes字节串与string字符串之间的转换
目录 背景 代码 总结 背景 在工作中经常会碰到字节串(bytes)与字符串(string)之间转换的问题,做个记录. bytes只负责用字节序列的形式(二进制形式)存储数据,不关心数据本身是图片.文 ...
- Python的时间:秒和字符串之间的转换
转自:http://www.2cto.com/kf/201109/102535.html 1)秒数 ==>字符串 1234567 from time import * def secs2str ...
- java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...
- 基本类型与字符串之间的转换
基本类型与字符串之间的转换 基本类型 与 字符串类型 之间的相互转换 基本类型->字符串(String) 1.基本类型的值+"" 最简单的方法(工作 ...
- JavaSE(六)包装类、基本类型和字符串之间的转换、==和equals的区别
一.包装类 Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足, 在设计类时为每个基本数据类型设计了一个对应的类进行代表,这 ...
- C++中数字与字符串之间的转换 scanf string总结(复习必读)
1 string的scanf读入操作 C++里面控制台输入直接使用cin操作就可以了:或者getline(istringstream,string); 字符和数字加减就是字符的ASCII码和数字直接加 ...
- ByteArray、16进制、字符串之间的转换
ByteArray.16进制.字符串之间的转换: package fengzi.convert {import flash.utils.ByteArray;public class ByteArray ...
- Java之Base64实现文件和字符串之间的转换
摘要:Java通过Base64加密解密实现文件和字符串之间的转换! Base64.java package com.qdexam.util;import java.io.FileInputStream ...
- java base64字符 转图片_JAVA实现图片与base64字符串之间的转换详解
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
- Java基础——基本类型和包装类、基本类型和字符串之间的转换
基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更 ...
最新文章
- java新手笔记21 接口
- 自己动手开发智能聊天机器人完全指南(附python完整源码)
- 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
- JEECG Framework 3.3.1 beta版本发布第一天战报(文档下载量破1300、代码下载量破700)
- qt ui界面无法移动控件_都是知识点!移动端UI设计最基本的10种APP界面类型(上)...
- react map循环生成的button_常见 React 面试题
- 周鸿祎为何忘不掉搜索?
- WIN10下使用VS2017的MSVC编译FFMPEG3.4.2动态静态库
- echarts引入china报错(The GeoJSON of the map must be provided)
- linux谷歌浏览器无法登陆,新版CentOS 7.1上的谷歌浏览器无法启动
- 基于图神经网络的推荐系统
- 三分子模型(trimolecular model)
- docker compose自定义IP报错ERROR: Pool overlaps with other one on this address space
- Rails Controller中的concerns测试编写
- clearcase使用小结
- Windows下安装CUDA
- win11恢复旧版右键菜单
- 临界区例子及相关函数翻译
- 巴菲特旗下公司持有470亿美元苹果股票 他用的却是20美元的三星翻盖机
- 何为SCA?听听一枚产品汪妹子的纯干货分享
热门文章
- ajax请求的同步和异步
- java使用sigar获取服务器的信息
- win10、oneplus7pro 使用 Kali
- python transpose_对python 矩阵转置transpose的实例讲解
- 快速增加微博粉丝的十六大技巧
- 若依前后端分离框架集成websocket
- python教程视频哪个好-Python入门视频看哪个好?适合初学者的教学视频推荐
- Premiere 出现“该级别的帧大小/帧速率无效。请减小视频范围或帧速率,或者增加配置文件和级别,然后重试”的解决办法
- apex服务器不稳定,apex英雄掉帧不稳定怎么办-apex英雄掉帧不稳定解决办法_牛游戏网...
- 2022年中高级前端需要学习的25种前端技术栈