日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Bson

系統(tǒng) 2061 0
http://en.wikipedia.org/wiki/BSON
?
From Wikipedia, the free encyclopedia
?
?
BSON
Filename extension .bson
Internet media type none [1]
Type of format Data interchange
Extended from JSON
Standard(s) no? RFC ?yet
Website bsonspec.org

BSON ?( ? / ? b i? s ? n / ) is a? computer ?data interchange format used mainly as a data storage and network transfer format in the? MongoDB ?database. It is a binary form for representing simple? data structures and? associative arrays ?(called objects or documents in MongoDB). The name "BSON" is based on the term? JSON ?and stands for "Binary JSON". [2]

Contents

? ?[ hide ]?

[ edit ] Data types and syntax

BSON documents (objects) consist of an ordered list of? elements . Each element consists of a field name, a type, and a value. Field names are strings. Types include:

BSON types are nominally a superset of? JSON ?types (JSON does not have a date or a byte array type, for example [3] ), with one exception of not having a universal "number" type as JSON does.

[ edit ] Efficiency

Compared to JSON, BSON is designed to be efficient both in storage space and scan-speed. Large elements in a BSON document are prefixed with a length field to facilitate scanning. In some cases, BSON will use more space than JSON due to the length prefixes and explicit array indices. [2]

[ edit ] See also

[ edit ] References

[ edit ] External links

View page ratings
Rate this page
?
Trustworthy
?
?
?
Objective
?
?
?
Complete
?
?
?
Well-written
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?

BSON

}
01010100
11101011
10101110
01010101
{

Version 1.0

BSON is a binary format in which zero or more key/value pairs are stored as a single entity. We call this entity a? document .

The following grammar specifies version 1.0 of the BSON standard. We've written the grammar using a pseudo- BNF ?syntax. Valid BSON data is represented by the? document ?non-terminal.

Basic Types

The following basic types are used as terminals in the rest of the grammar. Each type must be serialized in little-endian format.

byte 1 byte (8-bits)
int32 4 bytes (32-bit signed integer)
int64 8 bytes (64-bit signed integer)
double 8 bytes (64-bit IEEE 754 floating point)

Non-terminals

The following specifies the rest of the BSON grammar. Note that quoted strings represent terminals, and should be interpreted with C semantics (e.g.? "\x01" ?represents the byte 0000 0001 ). Also note that we use the? * ?operator as shorthand for repetition (e.g. ("\x01"*2) ?is? "\x01\x01" ). When used as a unary operator,? * ?means that the repetition can occur 0 or more times.

document ::= int32 e_list "\x00" BSON Document
e_list ::= element e_list Sequence of elements
? | "" ?
element ::= "\x01" e_name double Floating point
? | "\x02" e_name string UTF-8 string
? | "\x03" e_name document Embedded document
? | "\x04" e_name document Array
? | "\x05" e_name binary Binary data
? | "\x06" e_name Undefined —? Deprecated
? | "\x07" e_name (byte*12) ObjectId
? | "\x08" e_name "\x00" Boolean "false"
? | "\x08" e_name "\x01" Boolean "true"
? | "\x09" e_name int64 UTC datetime
? | "\x0A" e_name Null value
? | "\x0B" e_name cstring cstring Regular expression
? | "\x0C" e_name string (byte*12) DBPointer —? Deprecated
? | "\x0D" e_name string JavaScript code
? | "\x0E" e_name string Symbol —? Deprecated
? | "\x0F" e_name code_w_s JavaScript code w/ scope
? | "\x10" e_name int32 32-bit Integer
? | "\x11" e_name int64 Timestamp
? | "\x12" e_name int64 64-bit integer
? | "\xFF" e_name Min key
? | "\x7F" e_name Max key
e_name ::= cstring Key name
string ::= int32 (byte*) "\x00" String
cstring ::= (byte*) "\x00" CString
binary ::= int32 subtype (byte*) Binary
subtype ::= "\x00" Binary / Generic
? | "\x01" Function
? | "\x02" Binary (Old)
? | "\x03" UUID (Old)
? | "\x04" UUID
? | "\x05" MD5
? | "\x80" User defined
code_w_s ::= int32 string document Code w/ scope

Examples

The following are some example documents (in JavaScript / Python style syntax) and their corresponding BSON representations. Try mousing over them for some useful correlation.

{ "hello" :? "world" } " \x16\x00\x00\x00 \x02 hello\x00 ?
? \x06\x00\x00\x00world\x00 \x00 "
{ "BSON" :? [ "awesome" ,? 5.05 , 1986 ] } " \x31\x00\x00\x00 \x04 BSON\x00 \x26\x00?
?\x00\x00
\x02 0\x00 \x08\x00\x00?
?\x00awesome\x00
\x01 1\x00 \x33\x33\x33\x33\x33\x33
?\x14\x40
\x10 2\x00 \xc2\x07\x00\x00 ?
? \x00 \x00"
?

Bson


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 陵水| 长乐市| 聂荣县| 盐源县| 卢湾区| 达拉特旗| 湘潭县| 治县。| 鄱阳县| 长海县| 宣威市| 承德县| 兰溪市| 酉阳| 泰兴市| 万荣县| 孝感市| 阿拉尔市| 翁源县| 富蕴县| 奉贤区| 资中县| 河西区| 深圳市| 遂溪县| 仁寿县| 兴宁市| 南溪县| 平乐县| 惠州市| 益阳市| 宜都市| 岢岚县| 华阴市| 留坝县| 黎川县| 龙南县| 满城县| 凤冈县| 五河县| 西安市|