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

#           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")   生成规则的解释

4byte:  5789fb58(16进制)   =>   1468660568(10进制时间戳)    2016/7/16 17:18:48

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

2byte:  e784       =>   进程ID

3byte:  4d11d8     =>   随机数


通过上面的这种方式来讲objectID做到全局唯一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值