MongoDB基礎使用教程

來源:互聯網
上載者:User
MongoDB基礎使用教程

基本命令使用

//mongo 預設連接埠27017//預設儲存使用路徑/data/db //需自己手動建立,且賦予讀寫權限//啟動mongodb服務端mongod --config /usr/local/etc/mongod.conf//連結mongo 命令mongo //查看所有資料show dbs//當前使用的資料庫db

建立資料庫

use DATABASE_NAME//不存在就建立,否則切換到該資料庫

刪除資料庫

db.dropDatabase()  //即刪除當前使用的資料庫

刪除集合

//刪除集合db.collection_name.drop() //collection_name 為你所要刪除的集合名稱

更新文檔

MongoDB 使用 update() 和 save() 方法來更新集合中的文檔。

update() 方法用於更新已存在的文檔

db.collection.update(   <query>,   <update>,   {     upsert: <boolean>,     multi: <boolean>,     writeConcern: <document>   })

* query : update的查詢條件
* update : update的對象和一些更新的操作符(如 , ,inc…
* upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
* multi : 可選,mongodb 預設是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。
* writeConcern :可選,拋出異常的層級。

    例:將student name為LouKit更新為Allen    db.student.update({'name':'LouKit'},{$set:{'name':'Allen'}})

save() 方法通過傳入的文檔來替換已有文檔

db.collection.save(   <document>,   {     writeConcern: <document>   })

* document : 文檔資料。
* writeConcern :可選,拋出異常的層級。

    //修改_id為58eb301cfabd4826d05ecd1d文檔資料,沒有寫的欄位將消失    db.student.save({ "_id" : ObjectId("58eb301cfabd4826d05ecd1d"), "name" : "LK",  "id" : "100", "date" : "2017-08-01" })

刪除文檔

MongoDB 中採用 remove()函數來移除集合中的資料

db.collection.remove(   <query>,   {     justOne: <boolean>,     writeConcern: <document>   })

* query :(可選)刪除的文檔的條件。
* justOne : (可選)如果設為 true 或 1,則只刪除一個文檔,預設false。
* writeConcern :(可選)拋出異常的層級。

    //只刪除一個    db.student.remove({'name':'Harley'},{justOne:true}); 

查詢文檔

MongoDB 查詢資料的文法格式如下

db.COLLECTION_NAME.find()

//find() 方法以非結構化的方式來顯示所有文檔,可讀性不是很好,可以使用 pretty() 方法:

db.COLLECTION_NAME.find().pretty()

條件查詢

AND 條件

MongoDB 的 find() 方法可以傳入多個鍵(key),每個鍵(key)以逗號隔開,進行條件查詢

db.col.find({key1:value1, key2:value2}).pretty()//查詢name為LK且id為4的資料db.student.find({'name':'LK','id':'4'})

OR 條件

MongoDB OR 條件陳述式使用了關鍵字 $or,文法格式如下:

db.col.find(   {      $or: [         {key1: value1}, {key2:value2}      ]   }).pretty()//查詢name為LK或id為4的資料db.student.find({$or:[{'name':'LK'},{'id':'4'}]}).pretty()

MongoDB中查詢操作符號

操作符 文法格式 例子
等於 {key : value} db.student.find({ “age” : 20 })
小於 {key:{$lt:value}} db.student.find({ “age” : { $lt : 20}})
大於 {key:{$gt:value}} db.student.find({ “age” : { $gt : 20}})
小於或等於 {key:{$lte:value}} db.student.find({ “age” : { $lte : 20}})
大於或等於 {key:{$gte:value}} db.student.find({ “age” : { $gte : 20}})
不等於 {key:{$ne:value}} db.student.find({ “age” : { $ne : 20}})
Limit() 與 Skip()

Limit:指定MongoDB讀取數量的資料記錄,該方法接受一個數字參數

db.COLLECTION_NAME.find().limit(NUMBER)

Skip: 跳過指定數量的資料,該方法接受一個數字參數作為跳過的記錄條數

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
排序 sort()

sort()方法通過參數指定排序的欄位,並使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而-1是用於降序排列

db.COLLECTION_NAME.find().sort({KEY:1})
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.