三、Bson结构解析以及$type和_id(ObjectID)原理详细分析

版权声明:本文为博主原创文章,未经博主允许欢迎转载,请注明原文链接。一起交流,共同进步。 https://blog.csdn.net/newbie_907486852/article/details/82391110

           Bson结构解析以及$type和_id(ObjectID)原理详细分析


1、BSON数据类型及对应的整型及字符型(BSON别名)

每个ducument都是一个Bson数据,所谓的Bson就是对Json的扩展,每个数据中都有一个Key和Value,Value对应的就是以下类型:

这里写图片描述

2、使用{$type:别名}来查询

db.mycollection.insert({"name":"123"});

db.mycollection.insert({"name":"456"});

db.mycollection.insert({"name":undefined});

printjson(db.mycollection.find({"name":{$type:6}}).toArray());

3、ObjectID

无索引的情况的,我们的数据叫做heap。

有了主键索引,那么就是一个BTree

ObjectId("5789fb58631178e7844d11d8")   生成规则的解释

4byte5789fb58(16进制)   =>   146866056810进制时间戳)    2016/7/16 17:18:48

3byte:   631178     =>   机器的唯一标识码

2byte:  e784       =>   进程ID

3byte4d11d8     =>   随机数


通过上面的这种方式来讲objectID做到全局唯一

猜你喜欢

转载自blog.csdn.net/newbie_907486852/article/details/82391110
今日推荐