MongoDB基本命令總結

來源:互聯網
上載者:User

標籤: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基本命令總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.