網站首頁 編程語言 正文
一、NoSQL
了解Mongodb之前先了解一下NoSQL,NoSQL是Not Only SQL的縮寫。由提供缺乏SQL關系數據庫的嚴格限制模型的存儲和檢索技術組成。主要是簡化設計、水平擴展以及對數據的可用性進行更精細的控制。NoSQL有多種技術例如:Redis的鍵值結構、HBase的列結構等。
二、Mongodb
Mongodb也是NoSQL的一種。它基于的文檔模型把數據對象作為一個集合中單獨的文檔來存儲。用它來提供高性能、高可用性和自動擴展的數據存儲。
三、集合
Mongodb通過使用集合將數據分組在一起。集合僅僅是一組具有相同或類似用途的文檔。集合類似于傳統SQL數據庫的表。只是集合不執行嚴格的模式,同一集合中的文檔可以具有彼此略微不同的結構。
四、文檔
文檔是Mongodb數據庫中單個數據實體的表示。SQL的行數據是平坦的,行中的每個值都有一個列。在Mongodb中文檔可以包含嵌入子文檔,從而為應用程序提供更密切的內在數據模型。在Mongodb中代表文檔的記錄被存儲為BSON,這是JSON的一個輕量級的二進制形式。它的字段/值對應于Javascript的屬性和值。同時在MongoDB中文檔的最大大小是16MB。這可以防止RAM使用過量或對文件系統產生劇烈沖擊。
此外,文檔的字段名不能包含(null)字符、句點(.)或美元符號($)._id字段名是為對象的ID保留的。該_id字段是系統中的一個唯一的ID,它由以下幾個部分組成:
- 1.一個4字節的值,代表從紀元以來過去的秒數。
- 2.一個3字節的機器標識符
- 3.一個2字節的進程ID
- 4.一個3字節的計數器,從一個隨機值開始
五、Mongodb數據類型
Mongodb為每一種數據類型分配了從1到255的整數ID號,可使用它來按類型查詢。
類型 | 說明 | 編號 |
---|---|---|
Double | 雙精度數值 | 1 |
String | 字符串 | 2 |
Object | 對象 | 3 |
Array | 數組 | 4 |
Binary data? | 二進制數據 | 5 |
Object id | 對象ID | 7 |
Boolean | 布爾值 | 8 |
Date | 日期 | 9 |
Null | 空值 | 10 |
Regular Expression | 正則表達式 | 11 |
JavaScript | Javascript | 13 |
Symbol | 符號 | 14 |
JavaScript(with scope) | Javascript(帶作用域)? | 15 |
32-bit intger | 32位整數 | 16 |
Timestamp | 時間戳 | 17 |
64-bit integer | 64位整數 | 18 |
Min Key | 最小值 | 255 |
Max Key | 最大值 | 127 |
當比較不同的BSON類型的值時,Nongodb使用下面的比較順序從最低到最高:
- 1.最小鍵(內部類型)
- 2.空值
- 3.數值
- 4.符號、字符串
- 5.對象
- 6.數組
- 7.二進制數據
- 8.對象ID
- 9.布爾值
- 10.日期,時間戳
- 11.正則表達式
- 12.最大鍵(內部類型)
原文鏈接:https://www.cnblogs.com/5ishare/p/5630242.html
相關推薦
- 2022-09-02 一文詳解Python中的重試機制_python
- 2022-08-23 C++深入探究友元使用_C 語言
- 2022-11-14 .NET?Core?Web?APi類庫內嵌運行的方法_實用技巧
- 2022-12-12 C語言解讀數組循環右移問題_C 語言
- 2023-06-17 Python結合Sprak實現計算曲線與X軸上方的面積_python
- 2022-09-06 本地搭建minio文件服務器(使用bat腳本啟動)的方法_服務器其它
- 2022-08-02 詳解Python?NumPy中矩陣和通用函數的使用_python
- 2022-09-09 React前端DOM常見Hook封裝示例下_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支