BSON入门

BSON入门转自:http://www.cnblogs.com/linjiqin/p/3192706.html1、概念BSON(BinarySerializedDocumentFormat)是一种类json的一种二进制形式的存储格式,简称BinaryJSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。BSO

转自:http://www.cnblogs.com/linjiqin/p/3192706.html

1、概念
BSON(Binary Serialized Document Format)是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。

BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Protocol Buffer,但是BSON是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想。

BSON有三个特点:轻量性、可遍历性、高效性。

{“hello”:”world”} 这是一个BSON的例子,其中”hello”是key name,它一般是cstring类型,字节表示是cstring::= (byte*) “/x00” ,其中*表示零个或多个byte字节,/x00表示结束符;后面的”world”是value值,它的类型一般是string,double,array,binarydata等类型。

2、使用情况
MongoDB使用了BSON这种结构来存储数据和网络数据交换。把这种格式转化成文档这个概念(Document),因为BSON是schema-free的,所以在MongoDB中所对应的文档也有这个特征,这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的Document的变化更丰富一些,如Document可以嵌套。

MongoDB以BSON做为其存储结构的一种重要原因是其可遍历性。

3、例子
3.1 一个Document的BSON表示

复制代码
{
    title:"MongoDB",
    last_editor:"192.168.1.122",
    last_modified:new Date("27/06/2011"),
    body:"MongoDB introduction",
    categories:["Database","NoSQL","BSON"],
    revieved:false
}
复制代码

这是一个简单的BSON结构体,其中每一个element都是由key/value对组成的。

3.2 一个嵌套的例子

复制代码
{
    name:"lemo",
    age:"12",
    address:{
        city:"suzhou",
        country:"china",
        code:215000
    },
    scores:[
        {
    
    "name":"english","grade:3.0},
        {"name":"chinese","grade:2.0}
    ]
}
复制代码

这是一种相对复杂点的例子,其中包括了地址对象和分数对象数组,这里使用了嵌套文档对象与文档对象数据来表示单个学生的信息,这种嵌套的文档结构要使用关系数据库来做是比较复杂的。

今天的文章BSON入门分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/5674.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注