30分鐘讓你了解MongoDB基本操作
今天記錄下MongoDB的基本操作,這只是最基本的,所以是應該掌握的。
數據庫
數據庫是一個物理容器集合。每個數據庫都有自己的一套文件系統上的文件。一個單一的MongoDB服務器通常有多個數據庫。
集合
集合是一組MongoDB的文檔。它相當于一個RDBMS表。收集存在于一個單一的數據庫。集合不執行模式。集合內的文檔可以有不同的領域。通常情況下,一個集合中的所有文件是相同或相關的目的。
文檔
文檔是一組鍵 - 值對。文件動態模式。動態模式是指,在相同集合中的文檔不需要具有相同的字段或結構組的公共字段的集合的文檔,可以容納不同類型的數據。
關系型數據庫與MongoDB的對比
看到這個表我想你對MongoDB也一定有自己的認識了。
MongoDB支持許多數據類型的列表下面給出:
-
String : 這是最常用的數據類型來存儲數據。在MongoDB中的字符串必須是有效的UTF-8。
-
Integer : 這種類型是用來存儲一個數值。整數可以是32位或64位,這取決于您的服務器。
-
Boolean : 此類型用于存儲一個布爾值 (true/ false) 。
-
Double : 這種類型是用來存儲浮點值。
-
Min/ Max keys : 這種類型被用來對BSON元素的最低和最高值比較。
-
Arrays : 使用此類型的數組或列表或多個值存儲到一個鍵。
-
Timestamp : 時間戳。這可以方便記錄時的文件已被修改或添加。
-
Object : 此數據類型用于嵌入式的文件。
-
Null : 這種類型是用來存儲一個Null值。
-
Symbol : 此數據類型用于字符串相同,但它通常是保留給特定符號類型的語言使用。
-
Date : 此數據類型用于存儲當前日期或時間的UNIX時間格式。可以指定自己的日期和時間,日期和年,月,日到創建對象。
-
Object ID : 此數據類型用于存儲文檔的ID。
-
Binary data : 此數據類型用于存儲二進制數據。
-
Code : 此數據類型用于存儲到文檔中的JavaScript代碼。
-
Regular expression : 此數據類型用于存儲正則表達式
下面開始真正的操作MongoDB
show dbs : 查看數據庫列表
use 命令 :該命令將創建一個新的數據庫,如果它不存在,否則將返回現有的數據庫。
use myMongo (創建的數據庫myMongo 列表中是不存在的。要顯示的數據庫,需要把它插入至少一個文件,如:db.test.insert({name:"張三",age:"18"}))
dropDatabase() 方法 : db.dropDatabase() 命令是用來刪除一個現有的數據庫。它將刪除選定的數據庫。如果還沒有選擇任何數據庫,然后它會刪除默認的 ' test' 數據庫
createCollection() 方法 : db.createCollection(name, options) 是用來創建集合. name是集合的名稱。options是一個文件,用于指定配置的集合
show collections: 可以查看創建的集合列表
在MongoDB中,不需要創建集合。當插入一些文件 MongoDB 自動創建的集合。
drop() 方法 : db.collection.drop() 是用來從數據庫中刪除一個集合。
drop() 方法將返回 true ,如果選擇成功收集被丟棄,否則將返回 false
insert() 方法 : 要插入數據到 MongoDB 集合,需要使用 MongoDB 的 insert() 或 save() 方法。
這里用了兩種查詢方法,下面會介紹的.這里你可以看我我插入了一個數組["MongoDB","python","hadoop"]
這里 myCollection1是集合的名稱。如果集合在數據庫中不存在,那么MongoDB 將創建此集合,然后把它插入文檔。我們也可以插入數組,道理是一樣的,你可以自己試試。
插入文檔中,如果我們不指定_id參數,然后MongoDB 本文檔分配一個獨特的ObjectId。_id 是12個字節的十六進制數,唯一一個集合中的每個文檔.
find() 方法 : 查詢集合數據,find() 方法將在非結構化的方式顯示所有的文件。 pretty() 方法將以格式化的方式顯示數據。
上邊的例子已經展示了。除了find() 方法外,還有一個 findOne() 法,返回一個文件。
下面做下 條件查詢: RDBMS Where子句和MongoDB等同語句
AND用法
OR用法
Limit() 方法和 skip() 方法一般結合使用可用作分頁 : 要限制 MongoDB 中的記錄,需要使用 limit() 方法。 limit() 方法接受一個數字型的參數,這是要顯示的文檔數。skip() 方法也 接受數字類型的參數,并使用跳過的文檔數
remove() 方法 : 用于從集合中刪除文檔。remove() 方法接受兩個參數。第一個是刪除criteria ,第二是justOne標志:
-
deletion criteria :(可選)刪除標準,根據文件將被刪除。
-
justOne : (可選)如果設置為true或1,然后只刪除一個文件。如果有多個記錄且要刪除的只有第一條記錄,那么設置remove()方法中justOne參數
- 如果不指定刪除條件,然后MongoDB將從集合中刪除整個文件
Update() 方法 : 更新文檔 ,若要更新多個需要設置參數置'multi' 為true
sort() 方法 : 接受一個文檔,其中包含的字段列表連同他們的排序順序。要指定排序順序1和-1。 1用于升序排列,而-1用于降序。 請注意,如果不指定排序優先,然后sort() 方法將文檔顯示在升序排列。
就寫到著吧,要下班了,有時間會寫一些深入的。希望大家指教。