標籤:info 關聯 drop 索引值 數字 nosql 類型 app strong
其實一直想整理下我常使用的MongoDB資料庫的一些操作命令,終於有時間了~
MongoDB是一種開源的,免費的非關係型資料庫(NoSql),不存在表、記錄等概念,與通常的關係型資料庫有些差異:
- MongoDB裡的集合可類比成關聯式資料庫中的表,集合沒有固定的結構,這意味著你在對集合可以插入不同格式和類型的資料,但通常情況下我們插入集合的資料都會有一定的關聯性。集合儲存在資料庫中。
- MongoDB裡的文檔可類比成關係型資料庫中表中的欄位,文檔主要儲存在集合中,mongodb將資料存放區為一個文檔,資料結構由索引值(key=>value)對組成。MongoDB 文檔類似於 JSON 對象。欄位值可以包含其他文檔,數組及文檔數組。
以下是一些常用命令
一、資料庫
1、查看所有資料庫:show dbs
2、切換資料庫:use DATABASE_NAME # 如果資料庫不存在,則建立資料庫
3、刪除資料庫:db.dropDatebase()
二、集合
1、查看所有的集合:show collections 或者show tables
2、建立mongotest集合:
a、 db.creatCollection("mongotest") # 建立集合
b、 db.mycollections.insert({"name":"嗯哼~"}) # 在MongoDB中,當你插入一些文檔時,MongoDB會自動建立集合
三、文檔
1、插入文檔:db.mycollections.insert() 或者 db.mymycollections.save()
# 如果不指定 _id 欄位 save() 方法類似於 insert() 方法。如果指定 _id 欄位,則會更新該 _id 的資料。
例:
2、尋找文檔:db.mycollections.find()
db.mycollections.find().pretty() # 尋找全部文檔,按格式輸出
db.mycollections.findOne() # findOne是按照_id正序排列,沒有查詢條件,尋找第一個被插入的資料
例:
其他相關查詢條件文法如下:
- 小於:文法為 {<key>:{$lt:<value>}},例 :db.mycollections.find({"age":{$lt:19}})
- 小於或等於:{<key>:{$lte:<value>}},例 :db.mycollections.find({"age":{$lte:19}})
- 大於:{<key>:{$gt:<value>}},例 :db.mycollections.find({"age":{$gt:19}})
- 大於等於:{<key>:{$gte:<value>}},例 :db.mycollections.find({"age":{$gte:19}})
- 不等於:{<key>:{$ne:<value>}} ,例 :db.mycollections.find({"age":{$ne:18}})
3、更新命令:db.mycollections.update()
例:將上面王紅年齡從18歲改為19歲,操作命令為:db.mycollections.update({"name" : "王紅"},{$set:{"age":"19"}})
4、刪除文檔:
db.mycollections.remove() 例:1、刪除“張三”,操作命令為:db.mycollections.remove({"name":"張三"}) 2、插入多個姓名為“張三”的人,刪除找到的第1條“張三”,操作命令為:db.mycollections.remove({"name":"張三"},1) # 1,justOne參數
3、插入多個姓名為“張三”的人,刪除找到的前2條“張三”,操作命令為:
db.mycollections.remove({"_id" : {$in: [ObjectId("5b86b20c873007ee4d98c1e6"), ObjectId("5b86b20e873007ee4d98c1e7")]}})
四、其他命令
1、查詢過濾
db.mycollections.find({"name":"張三"},{"age":1,_id:0}) # 1表示顯示name,0表示不顯示_id.
2、limit()
如果你需要在MongoDB中讀取指定數量的資料記錄,可以使用MongoDB的Limit方法,limit()方法接受一個數字參數,該參數指定從MongoDB中讀取的記錄條數。
db.mycollectons.find().limit(2) # 只顯示2個文檔
3、skip()
除了可以使用limit()方法來讀取指定數量的資料外,還可以使用skip()方法來跳過指定數量的資料,skip方法同樣接受一個數字參數作為跳過的記錄條數。 db.mycollections.find({},{"name":1,_id:0}).limit(1).skip(1) # 只顯示第二個文檔
4、sort() MongoDB使用sort()方法對資料進行排序,sort()方法可以通過參數指定排序的欄位,並使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而-1是用於降序排列。 db.mycollections.find().sort({age:1}) # 文檔按照age,升序排列
MongoDB基本命令總結