摘要:嚴(yán)格模式模式是一個(gè)位有符號(hào)整數(shù)。你必須包含括號(hào),否則將會(huì)被解釋為浮點(diǎn)數(shù),導(dǎo)致準(zhǔn)確性的損失。例如,下列命令是把帶括號(hào)和不帶括號(hào)的整數(shù)值作為一個(gè)來(lái)插入當(dāng)你檢索文檔的時(shí)候,未加引號(hào)的值已經(jīng)發(fā)生了改變,加引號(hào)保證了其的準(zhǔn)確性下一章原文來(lái)源
JSON 所支持的類型僅是 BSON 所支持的一部分(子集). 不僅保留了類型信息, MongoDB 還為 JSON 格式增加了以下擴(kuò)展:
嚴(yán)格模式. BSON 類型的嚴(yán)格模式符合JSON RFC. 任何 JSON 解析器都可以將這些嚴(yán)格模式的表示解析為鍵/值對(duì); 然而, 僅有 MongoDB 內(nèi)部 JSON 解析器可以識(shí)別由格式所傳達(dá)的類型信息.
mongo Shell 模式. MongoDB 內(nèi)部 JSON 解析器和 mongo shell 都可以解析這個(gè)模式.
表現(xiàn)用于各種數(shù)據(jù)類型決定JSON 解析的上下文.
解析器和支持的格式 嚴(yán)格模式輸入下面可以解析在嚴(yán)格模式下類型信息的識(shí)別.
REST 接口
mongoimport
各種 MongoDB 工具的 --query
其他JSON解析器,包含 mongo shell 和 db.eval(), 可以識(shí)別嚴(yán)格模式表示為鍵/值對(duì), 但是沒(méi)有識(shí)別類型信息.
mongo Shell模式輸入下面可以解析在 mongo shell 模式下識(shí)別類型信息.
REST 接口
mongoimport
各種 MongoDB 工具的 --query
mongo shell
嚴(yán)格模式輸出mongoexport and REST 和 HTTP 接口 在嚴(yán)格模式下輸出數(shù)據(jù).
mongo Shell模式輸出bsondump 在 mongo Shell 模式輸出.
BSON 數(shù)據(jù)類型和有關(guān)表現(xiàn)下面介紹 BSON 數(shù)據(jù)類型和在嚴(yán)格模式和 mongo Shell 模式下有關(guān)表現(xiàn).
二進(jìn)制data_binary
Strict Mode | mongo Shell Mode |
---|---|
{ "$binary": " |
BinData ( |
data_date
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$date": " |
new Date ( |
在嚴(yán)格模式下,
MongoDB JSON 解析器當(dāng)前不支持加載 ISO-8601 字符串, 表示Unix紀(jì)元之前的日期. 當(dāng)格式化紀(jì)元之前的日期和過(guò)去的日期, 你的系統(tǒng)的 time_t 類型可以存在, 使用以下格式:
{ "$date" : { "$numberLong" : "" } }
在 Shell 模式下,
data_timestamp
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$timestamp": { "t": |
Timestamp( |
是一個(gè)一直增長(zhǎng)的32位無(wú)符號(hào)整數(shù).
正則表達(dá)式data_regex
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$regex": " |
/ |
data_oid
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$oid": " |
ObjectId( " |
data_ref
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$ref": " |
DBRef(" |
data_undefined
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$undefined": true } | undefined |
JavaScript/BSON undefined 類型的表現(xiàn).
你不能在文檔查詢中使用undefined. 想象下面的文檔插入到people集合中:
db.people.insert( { name : "Sally", age : undefined } )
下面的查詢返回一個(gè)錯(cuò)誤:
db.people.find( { age : undefined } ) db.people.find( { age : { $gte : undefined } } )
然而,你可以使用$type來(lái)查詢未定義的值,比如:
db.people.find( { age : { $type : 6 } } )
這個(gè)查詢返回所有age字段的值為undefined的文檔.
MinKeydata_minkey
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$minKey": 1 } | MinKey |
BSON數(shù)據(jù)類型 MinKey 的表現(xiàn)是相比之下,小于其它所有類型. 在BSON類型比較排序上查閱比較/排序 順序的更多信息..
MaxKeydata_maxkey
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$maxKey": 1 } | MaxKey |
BSON數(shù)據(jù)類型 MaxKey 的表現(xiàn)是相比之下,大于其它所有類型. 在BSON類型比較排序上查閱比較/排序 順序的更多信息.
NumberLong版本2.6新功能。
data_numberlong
嚴(yán)格模式 | mongo Shell 模式 |
---|---|
{ "$numberLong": " |
NumberLong( " |
NumberLong是一個(gè)64位有符號(hào)整數(shù)。你必須包含括號(hào),否則將會(huì)被解釋為浮點(diǎn)數(shù),導(dǎo)致準(zhǔn)確性的損失。
例如,下列命令是把帶括號(hào)和不帶括號(hào)的整數(shù)值9223372036854775807作為一個(gè)NumberLong來(lái)插入:
db.json.insert( { longQuoted : NumberLong("9223372036854775807") } ) db.json.insert( { longUnQuoted : NumberLong(9223372036854775807) } )
當(dāng)你檢索文檔的時(shí)候,未加引號(hào)的值已經(jīng)發(fā)生了改變,加引號(hào)保證了其的準(zhǔn)確性:
db.json.find() { "_id" : ObjectId("54ee1f2d33335326d70987df"), "longQuoted" : NumberLong("9223372036854775807") } { "_id" : ObjectId("54ee1f7433335326d70987e0"), "longUnquoted" : NumberLong("-9223372036854775808") }
下一章:https://segmentfault.com/a/11...
原文來(lái)源:https://docs.mongodb.com/manu...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/18904.html
摘要:使用文檔來(lái)存儲(chǔ)數(shù)據(jù)紀(jì)錄。是文檔的二進(jìn)制表示。文檔的局限性文件有以下屬性文檔大小限制文檔的最大值為。存儲(chǔ)的文檔的大小超過(guò)了最大值,提供。在版本之前,不會(huì)盡量維持原文檔中的字段順序。更新文檔更新文檔使用更新操作中指定字段去執(zhí)行指定數(shù)據(jù)的修改。 MongoDB使用BSON文檔來(lái)存儲(chǔ)數(shù)據(jù)紀(jì)錄。BSON是JSON文檔的二進(jìn)制表示。盡管它比JSON包含更多的數(shù)據(jù)類型。對(duì)于BSON規(guī)范,查看bson...
摘要:類型數(shù)字別名注意已過(guò)時(shí)布爾日期正則表達(dá)式位整數(shù)時(shí)間戳位整數(shù)要確定字段的類型,請(qǐng)查看在中檢驗(yàn)類型。是位整數(shù),代表自紀(jì)元年月日以來(lái)的毫秒數(shù)。 BSON是一個(gè)用來(lái)存儲(chǔ)文檔的二進(jìn)制序列化格式,并且可以在MongoDB中遠(yuǎn)程調(diào)用。該BSON規(guī)范位于bsonspce.org。 BSON在文檔中支持下列數(shù)據(jù)類型作為值。每個(gè)數(shù)據(jù)類型都有相對(duì)應(yīng)的數(shù)字和字符串別名用 $type 操作執(zhí)行BSON類型來(lái)查詢...
摘要:概述是的交互式接口你可以使用查詢和更新數(shù)據(jù)以及執(zhí)行管理操作是發(fā)行版的一個(gè)組件一旦你已經(jīng)安裝并且啟動(dòng)了連接到你運(yùn)行的實(shí)例在手冊(cè)的大部分示例都是使用然而許多驅(qū)動(dòng)程序?yàn)樘峁┝祟愃频慕涌趩?dòng)重要在嘗試運(yùn)行之前確保正在運(yùn)行啟動(dòng)并使用默認(rèn)端口連接到本地 概述 mongo shell 是 MongoDB的交互式 JavaScript 接口. 你可以使用 mongo shell 查詢和更新數(shù)據(jù)以及執(zhí)行...
摘要:文檔數(shù)據(jù)庫(kù)在中,一條紀(jì)錄就是一個(gè)文檔,它是由字段和值對(duì)組成的數(shù)據(jù)結(jié)構(gòu)。尤其是在數(shù)據(jù)庫(kù)系統(tǒng)中,對(duì)于嵌入式數(shù)據(jù)模型的支持減少了活動(dòng)。它提供自動(dòng)故障轉(zhuǎn)移數(shù)據(jù)冗余副本集是一組服務(wù)器,保持相同的數(shù)據(jù)集,提供冗余和提高數(shù)據(jù)可用性的。 MongoDB 是一個(gè)提供了高性能、高可用、自動(dòng)擴(kuò)展的開(kāi)源的文檔數(shù)據(jù)庫(kù)。 文檔數(shù)據(jù)庫(kù) 在MongoDB中,一條紀(jì)錄就是一個(gè)文檔,它是由字段和值對(duì)組成的數(shù)據(jù)結(jié)構(gòu)。Mon...
摘要:在被收購(gòu)之后,維護(hù)并繼續(xù)發(fā)展。設(shè)置是告訴應(yīng)用在目錄尋找應(yīng)用模板。設(shè)置告訴應(yīng)用使用目錄里面的類似圖像文件等靜態(tài)文件。我們會(huì)在應(yīng)用開(kāi)發(fā)過(guò)程中,保持著調(diào)試器在后臺(tái)運(yùn)行。這能提供高效的開(kāi)發(fā)環(huán)境。我們會(huì)把回應(yīng)狀態(tài)設(shè)為已創(chuàng)建。 編者注:我們發(fā)現(xiàn)了有趣的系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯,一天一篇更新,年終禮包。下面是第23天的內(nèi)容。 今天的《30天學(xué)習(xí)30種新技術(shù)》,我決定暫時(shí)放下...
閱讀 2402·2021-11-25 09:43
閱讀 3500·2021-10-25 09:48
閱讀 1386·2021-09-13 10:24
閱讀 2785·2019-08-29 15:07
閱讀 1330·2019-08-29 13:14
閱讀 3315·2019-08-29 12:22
閱讀 1392·2019-08-29 11:32
閱讀 3295·2019-08-29 11:23