mangodb基礎
首先講解較好的幾個文件:
簡書:https://www.jianshu.com/p/6df82d3f5c8a
菜鳥教程:http://www.runoob.com/mongodb/mongodb-replication.html
mangoDb一般是用類似於json的格式儲存並將資料儲存為一個文件,資料結構由鍵值(key:value)組成
mangoDB與資料庫的一些對比如下:
一個mangoDB可以建立多個數據庫,預設的資料庫名稱為db,該資料庫儲存在data目錄中。
一些命令:
show dbs:顯示資料庫列表
db:顯示當前的資料庫物件和集合
use local:連線到指定的local資料庫
一些命名規範:
資料庫名稱:
不能是空字串(“”)。
不得含有‘ ’(空格)、。、$、/、\和\0 (空字元)。
應全部小寫。
最多64位元組。
需要注意的是:
文件中的鍵/值對是有序的。
文件中的值不僅可以是在雙引號裡面的字串,還可以是其他幾種資料型別(甚至可以是整個嵌入的文件)。
MongoDB區分型別和大小寫。
MongoDB的文件不能有重複的鍵。
文件的鍵是字串。除了少數例外情況,鍵可以使用任意UTF-8字元。
文件鍵命名規範:
鍵不能含有\0 (空字元)。這個字元用來表示鍵的結尾。
.和$有特別的意義,只有在特定環境下才能使用。
以下劃線"_"開頭的鍵是保留的(不是嚴格要求的)。
集合
集合就是 MongoDB 文件組,類似於 RDBMS (關係資料庫管理系統:Relational Database Management System)中的表格。
集合存在於資料庫中,集合沒有固定的結構,這意味著你在對集合可以插入不同格式和型別的資料,但通常情況下我們插入集合的資料都會有一定的關聯性。
合法的集合名
集合名不能是空字串“”。
集合名不能含有\0字元(空字元),這個字元表示集合名的結尾。
集合名不能以“system。”開頭,這是為系統集合保留的字首。
使用者建立的集合名字不能含有保留字元。有些驅動程式的確支援在集合名裡面包含,這是因為某些系統生成的集合中包含該字元。除非你要訪問這種系統建立的集合,否則千萬不要在名字裡出現$。
建立資料庫: use DATABASE_NAME
刪除資料庫: a) 切換到指定的資料庫 b)db。dropDataBase()
刪除集合: a。 首先切換到指定資料庫 b,db。 集合名 。drop
查詢已有集合: show collections
插入: db。collection。insert
更新: db。collection。update/save ( query,set,upsert,muilt )
查詢: db。collection。find()
刪除: db。collection。remove()
查詢包含 “教”字的文件: db。collection。find({“title”:/ 教 /})
查詢以 “教”開頭的文件: db。collection。find({“title”:/^ 教 /})
查詢以教結尾的文件: db。collection。find({“title”:/ 教 $/})
db。collection。find({},{“title” : 1,_id : 0})。limit(2): 第一個 {} 相當於 where 條件,如果什麼都不寫的話就預設實現是顯示所有,第二個 {} 中指定哪 些列顯示 , 哪些列不顯示, 1 為顯示, 0 為不顯示
排序sort(1/0)1為升序,0為降序
建立索引 db。collection。createIndex(keys,option),keys表示要建立的索引欄位,1表示升序建立索引,-1表示降序建立索引,createIndex()接收可選引數,可選引數列表如下:
1、檢視集合索引
db。col。getIndexes()
2、檢視集合索引大小
db。col。totalIndexSize()
3、刪除集合所有索引
db。col。dropIndexes()
4、刪除集合指定索引
db。col。dropIndex(“索引名稱”)