通過前一篇文章,已經學習了如何下載安裝MongoDB,在本文主要以一些簡單的小例子,簡述MongoDB的常規操作CRUD【增刪改查】,僅供學習分享使用,如有問題,還請指正,
資料庫操作
創建及切換資料庫
語法:use db_name;
釋義:如果資料庫存在,則切換到對應資料庫;如果資料庫不存在,則創建資料庫,如下所示:

顯示所有資料庫
語法:show dbs;
釋義:顯示當前連接的所有的資料庫,如下所示:

注意:在剛創建完資料庫時,通過show dbs進行查看,是不顯示的,因為資料庫是空的,沒有創建集合,
顯示當前資料庫
語法:db;
釋義:顯示當前連接的資料庫,如下所示:

洗掉資料庫
語法:db.dropDatabase();
釋義: 洗掉當前連接的資料庫,如果要洗掉其他資料庫,可通過use db_name 進行切換,然后再洗掉,
示例:洗掉后,在show dbs時,則不顯示,如下所示:

注意:在洗掉資料庫后,通過db命令,依然顯示洗掉后的資料庫,這說明了什么?
集合操作
創建集合
語法:db.createCollection(name,option);
釋義:創建集合,第一個引數是集合名稱,第二個引數是集合選項,屬于非必填項,
關于option可選內容,如下所示:

注意:capped和size是一對組合,size大小為KB,max為集合中檔案數量,
示例,創建一個名稱為person的固定集合,集合大小為102400,最大檔案數量為100,如下所示:

創建集合后,再次執行show dbs命令,則會顯示創建的資料庫,如下所示:

注意:也可以通過insert陳述句插入檔案時,創建物件,在插入檔案是,如果集合存在,則插入;如果集合不存在,則創建集合,然后插入檔案,
查看已有集合
語法:show collections; 或者 show tables;
釋義:顯示當前連接資料庫中所有集合,
示例:查看hexdb下所有的集合,如下所示:

洗掉集合
語法:db.集合名.drop();
釋義:洗掉對應的集合及集合中的資料,如果洗掉成功,回傳true,
示例:洗掉person集合,如下所示:

插入檔案
集合中的檔案,是以BSON【Binary JSON】形式存在的,
語法:db.collection_name.insert(document);
釋義:往指定集合中插入檔案,
示例:通過insert陳述句往集合中插入資料,如果集合不存在,則創建,如下所示:

注意:資料庫已經洗掉,但是在創建集合后,又奇跡般的出現了,說明之前的洗掉資料庫,只是將資料庫中的集合給洗掉了,
一次插入多條檔案
執行一次陳述句,插入多條檔案
語法:db.集合名.insert([{檔案1},{檔案2},{檔案3}]);
釋義:執行一次陳述句,插入多條檔案,
示例:一次插入3條檔案,并進行查詢,如下所示:

查詢檔案
查詢集合中的檔案,
語法:db.集合名.find(condition);
釋義:根據條件查詢集合中的檔案,如果條件為空,則查詢集合中所有檔案,
示例:先查詢所有檔案,在根據名稱進行檢索,如下所示:

更新檔案
根據指定條件,更新對應檔案的內容,
更新檔案語法如下所示:
1 db.collection.update( 2 <query>, 3 <update>, 4 { 5 upsert: <boolean>, 6 multi: <boolean>, 7 writeConcern: <document> 8 } 9 )
引數說明:
- query : update的查詢條件,類似sql update查詢內where后面的,
- update : update的物件和一些更新的運算子(如$,$inc...)等,也可以理解為sql update查詢內set后面的
- upsert : 可選,這個引數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入,
- multi : 可選,mongodb 默認是false,只更新找到的第一條記錄,如果這個引數為true,就把按條件查出來多條記錄全部更新,
- writeConcern :可選,拋出例外的級別,
示例:更新lisi的年齡為28,分別用1:表示更新前,2:更新陳述句,3:更新后,如下所示:

多個條件更新檔案
1. 多個條件同時滿足時,才能更新檔案,
語法:{條件1,條件2,條件3,...}
在多個條件需要同時滿足時,用逗號隔開,如下所示:

2. 多個條件有一個滿足時,即可修改檔案,
語法:$or:[{條件1},{條件2},{條件3}],如下所示:

洗掉檔案
根據指定條件,洗掉對應檔案,
語法:
1 db.collection.remove( 2 <query>, 3 <justOne> 4 )
引數說明:
- query :(可選)洗掉的檔案的條件,
- justOne : (可選)如果設為 true 或 1,則只洗掉一個檔案,如果不設定該引數,或使用默認值 false,則洗掉所有匹配條件的檔案,
- writeConcern :(可選)拋出例外的級別,
示例:洗掉名稱為zhangsan的檔案,如下所示:

洗掉集合中所有檔案
語法:db.集合名.remove({});
釋義:不帶條件,則表示洗掉集合中所有檔案,
MongoDB資料型別
MongoDB的資料型別,不像關系型資料庫的資料型別,需要預先定義,而是根據存盤的值的型別來的,資料型別如下所示:

備注
浣溪沙·一向年光有限身
【作者】晏殊 【朝代】宋一向年光有限身,等閑離別易銷魂,酒筵歌席莫辭頻,
滿目山河空念遠,落花風雨更傷春,不如憐取眼前人,

作者:Alan.hsiang
出處:http://www.cnblogs.com/hsiang/
本文著作權歸作者和博客園共有,寫文不易,支持原創,歡迎轉載【點贊】,轉載請保留此段宣告,且在文章頁面明顯位置給出原文連接,謝謝,
關注個人公眾號,定時同步更新技術及職場文章
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/305352.html
標籤:NoSQL
