MongoDB学习之路(三)
生活随笔
收集整理的這篇文章主要介紹了
MongoDB学习之路(三)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據庫
一個MongoDB可以建立多個數據庫。
MongoDB的默認數據庫為"db",該數據庫存儲在data目錄中。
MongoDB的單個實例可以容納多個獨立的數據庫,每一個都有自己的集合和權限,不同的數據庫也放置在不同的文件中。
show dbs可以顯示所有的數據列表。
db可以顯示當前數據庫對象或集合。
use可以連接到一個指定的數據庫
數據庫名字的命名規范
- 不能是空字符串("")
- 不得含有''(空格)、 .、 $、 /、 ?和 \0(空字符)。
- 應全部小寫
- 最多64個字節。
有一些數據庫名字是保留的,可以直接訪問這些有特殊作用的數據庫。
- admin: 從權限的角度來看,這時"root"數據庫。要是將一個用戶添加到這個數據庫,這個用戶自動繼承所有數據庫的權限。一些特定的服務器端命令只能從這個數據庫運行,比如列出所有的數據庫或關閉服務器。
- local:這個數據庫永遠不會被復制,可以用來存儲限于本地單臺服務器的任意集合。
- config: 當Mongo用于分片設置時,config數據庫在內部使用,用于保存分片的相關信息。
RDBMS與MongoDB之間的異同
| 數據庫 | 數據庫 |
| 表格 | 集合 |
| 行 | 文檔 |
| 列 | 字段 |
| 表聯合 | 嵌入文檔 |
| 主鍵 | 主鍵(MongoDB提供了key為_id) |
文檔
需要注意的是:
文檔鍵命名規范:
集合
集合就是MongoDB文檔組,類似于RDBMS中的table。
集合存在于數據庫中,集合沒有固定的結構,這意味著你在對集合可以插入不同格式和類型的數據,但通常情況下我們插入集合的數據都有一定的關聯性。
一旦一個文檔被插入時,集合就會被創建。
合法的集合名
- 集合名不能是空字符串""。
- 集合名不能含有\0字符(空字符),這個字符表示集合名的結尾。
- 集合名不能以"system."開頭,這是為系統集合保留的前綴。
- 用戶創建的集合名字不能含有保留字符。
元數據
數據庫的信息是存儲在集合中。它們使用了系統的命名空間:
dbname.system.*
在MongoDB數據庫中名字空間.system.*是包含多種系統信息的特殊集合(Collection),如下:
| dbname.system.namespaces | 列出所有名字空間 |
| dbname.system.indexes | 列出所有索引 |
| dbname.system.profile | 包含數據庫概要(profile)信息 |
| dbname.system.users | 列出所有可訪問數據庫的用戶 |
| dbname.local.sources | 包含復制對端(slave)的服務器信息和狀態 |
MongoDB數據類型
| String | 字符串。存儲數據常用的數據類型。在MongoDB中,UTF-8編碼的字符串才是合法的 |
| Integer | 整型字符。用于存儲數據。根據你所采用的服務器,可分為32位或64位。 |
| Boolean | 布爾值。用于存儲布爾值 |
| Double | 雙精度浮點值。用于存儲浮點值。 |
| Min/Max keys | 將一個值與BSON(二進制的JSON)元素的最低值和最高值相對比 |
| Arrays | 用于將數組或列表或多個值存儲為一個鍵 |
| Timestamp | 時間戳。用于記錄文檔修改或添加的具體實踐 |
| Object | 用于內嵌文檔。 |
| Null | 用于創建空值 |
| Symbol | 符號。該數據類型基本上等同于字符串類型,但不同的是,它一般用于采用特殊符號類型的語言。 |
| Date | 日期時間。用Unix時間格式來存儲當前日期或時間。你可以指定自己的日期時間:創建Date對象,傳入年月日信息。 |
| Object ID | 對象ID。用于創建文檔的ID。 |
| Binary Data | 二進制數據。用于存儲二進制數據。 |
| Code | 代碼類型。用于在文檔中存儲JavaScript代碼 |
| Regular expression | 正則表達式類型。用于存儲正則表達式 |
by 一枝豬
轉載于:https://www.cnblogs.com/chunzhulovefeiyue/p/7243098.html
總結
以上是生活随笔為你收集整理的MongoDB学习之路(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支持多个版本的ASP.NET Core
- 下一篇: 为什么香蕉炒香肠会死人