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