MongoDB基本命令總結

其實一直想整理下我常使用的MongoDB數據庫的一些操做命令,終於有時間了~mongodb

MongoDB是一種開源的,免費的非關係型數據庫(NoSql),不存在表、記錄等概念,與一般的關係型數據庫有些差別:數據庫

  • MongoDB裏的集合可類比成關係數據庫中的表,集合沒有固定的結構,這意味着你在對集合能夠插入不一樣格式和類型的數據,但一般狀況下咱們插入集合的數據都會有必定的關聯性。集合存儲在數據庫中。
  • MongoDB裏的文檔可類比成關係型數據庫中表中的字段,文檔主要存儲在集合中,mongodb將數據存儲爲一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔相似於 JSON 對象。字段值能夠包含其餘文檔,數組及文檔數組。

如下是一些經常使用命令數組

1、數據庫數據結構

一、查看全部數據庫:show dbs            ui

二、切換數據庫:use  DATABASE_NAME         # 若是數據庫不存在,則建立數據庫spa

三、刪除數據庫:db.dropDatebase()                3d

 

2、集合對象

一、查看全部的集合:show collections 或者show tables         blog

二、建立mongotest集合:排序

  a、   db.creatCollection("mongotest")           # 建立集合

      b、   db.mycollections.insert({"name":"嗯哼~"})             # 在MongoDB中,當你插入一些文檔時,MongoDB會自動建立集合

 

3、文檔

一、插入文檔:db.mycollections.insert()  或者 db.mymycollections.save()          

若是不指定 _id 字段 save() 方法相似於 insert() 方法。若是指定 _id 字段,則會更新該 _id 的數據。

例:

 

 

二、查找文檔: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}})

 

三、更新命令:db.mycollections.update()         

例:將上面王紅年齡從18歲改成19歲,操做命令爲:db.mycollections.update({"name" : "王紅"},{$set:{"age":"19"}})

 
 
四、 刪除文檔: db.mycollections.remove()          
例:
一、刪除「張三」,操做命令爲:db.mycollections.remove({"name":"張三"})  
二、插入多個姓名爲「張三」的人,刪除找到的第1條「張三」,操做命令爲:db.mycollections.remove({"name":"張三"},1)      #  1,justOne參數

三、插入多個姓名爲「張三」的人,刪除找到的前2條「張三」,操做命令爲:

    db.mycollections.remove({"_id" : {$in: [ObjectId("5b86b20c873007ee4d98c1e6"), ObjectId("5b86b20e873007ee4d98c1e7")]}})



 4、其餘命令

一、查詢過濾

  db.mycollections.find({"name":"張三"},{"age":1,_id:0})       #  1表示顯示name,0表示不顯示_id.

二、limit()

      若是你須要在MongoDB中讀取指定數量的數據記錄,可使用MongoDB的Limit方法,limit()方法接受一個數字參數,該參數指定從MongoDB中讀取的記錄條數。

      db.mycollectons.find().limit(2)          # 只顯示2個文檔

三、skip()

  除了可使用limit()方法來讀取指定數量的數據外,還可使用skip()方法來跳過指定數量的數據,skip方法一樣接受一個數字參數做爲跳過的記錄條數。
  db.mycollections.find({},{"name":1,_id:0}).limit(1).skip(1)     # 只顯示第二個文檔
 
四、sort()
  MongoDB使用sort()方法對數據進行排序,sort()方法能夠經過參數指定排序的字段,並使用 1 和 -1 來指定排序的方式,其中 1 爲升序排列,而-1是用於降序排列。
  db.mycollections.find().sort({age:1})                    # 文檔按照age,升序排列
相關文章
相關標籤/搜索