mongodb的基本操作

來源:互聯網
上載者:User

標籤:upd   輸入   存在   databases   第一個   技術   表示   man   比較操作符   

mongodb的基本操作

  在cmd中輸入mongo進入資料庫。輸入show databases 可以查詢已有的資料庫,admin 和 local 都是內建的資料庫,不

要去操作這兩個資料庫。下面介紹MongoDB的基本操作:增刪查改!

  在對資料處理之前,我們先要建庫建集合:

  建庫:使用命令:use + 庫名  如:use dan  ;如果庫名存在則進入該庫,不存在就建立!如果沒有添加資料,會發生復原

現象,使用show dbs 查看資料庫,會顯示沒有這個庫!

  增加資料db.test.insert({‘name‘:‘nike‘,‘sex‘:‘man‘}) 預設添加 id 。注意到這裡的資料傳入是以字典的格式!test為集

合名,使用show tables 可以查看當前庫的所有集合。

    

       db.test.save({‘name‘:‘dc&cn‘,‘sex‘:‘*‘})  save方法同樣可以插入資料,如果指定已有的id還可以修改資料。

    為了方便下面的闡述,我們多添加幾條資料!

  查詢資料db.test.find()  查詢test集合中的資料,預設顯示20條。

        db.test.find({‘age‘:{$eq:‘25‘}})  查詢test集合中age等於‘25‘的資料。如果插入資料的時候是數字是以字元

        串傳入的,則這裡必須使用引號,不然匹配不到!

    

  這裡的最後一條資料,25是以數值直接插入,查詢的時候就查不到,所以資料的格式一定要注意!

        db.test.find({‘age‘:{$eq:‘25‘},‘sex‘:‘man‘})  查詢test集合中age等於‘25‘ 和性別為男的資料。這裡也展示了

        多條件過濾。

  刪除資料:db.test.drop({‘age‘:‘25‘})   

        db.test.remove({‘age‘:‘25‘})  刪除test集合中age欄位值為 ‘25‘ 的

        db.test.remove({‘name‘:‘nike‘,‘age‘:‘15‘}) 多條件匹配刪除,注意remove匹配到幾條資料就會刪除幾條。

           db.test.remove({}) 刪除當前文檔,但是集合還在,是一個空集合

        db.test.drop()  刪除集合

  更新資料db.test.update({‘name‘:‘dc&cn‘},{$set:{‘age‘:23}}) 

  此處找到name為dc&cn的資料將age改為23,沒有該欄位就是添加。每次都是修改匹配到的第一個。multi參數設定為True,會

  更新所有的資料。如:db.test.update({‘name‘:‘lining‘},{$set:{‘age‘:2000}},{‘multi‘:3}) 這裡的3預設為true,

  符合要求的資料將全部更新。

 

MongoDB的操作符

  比較操作符

  $ eq   等於     $ gt   大於     $ gte  不小於     $ lt   小於

  $ lte  不大於     $ ne   不等於      $ in  接一個數組,表示在數組元素中匹配

  邏輯操作符

  or  and  not  nor

  db.test.find({$or:[{‘age‘:25},{‘sex‘:‘man‘}]}) 匹配age為25或者sex為man的資料。$or後邊也是接一個數組。

  db.test.find({$and:[{‘age‘:25},{‘sex‘:‘man‘}]})  匹配兩個條件同時滿足的資料,等價於:

                        db.test.find({‘age‘:‘25‘,‘sex‘:‘man‘})

  db.test.find({‘age‘:{$not:{$eq:‘25‘}}})   匹配age不等於25的。$not操作符只會影響其他動作符不能獨立檢查欄位

  和文檔。這裡使用not看似和比較操作符沒有什麼區別,但是將$eq換成$gt時就有明顯的區別了。如所示:

  

  db.test.find({$nor:[{‘age‘:‘25‘}]})  如果數組裡面的元素使用比較操作符,會匹配失敗

  更新操作符

     $inc  加減

  $mul   乘法

  $rename  重新命名

  $set  更新某一個欄位,其他保留

 

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.