1. 程式人生 > >MongoDB基礎教程(一)

MongoDB基礎教程(一)

1。連線mongodb

cmd進入mongo/bin目錄下,輸入:

mongo

這裡寫圖片描述

2。建立資料庫

如果資料庫不存在建立資料庫,否則開啟該資料庫。

use 資料庫名

EG:建立資料庫runoob

 use runoob

建立並檢視當前使用的資料庫:
這裡寫圖片描述

檢視所有資料庫:

show dbs

這裡寫圖片描述

很顯然,剛建立的資料庫runoob並不在其中,要想顯示,必須向資料庫中插入一些資料
這裡寫圖片描述

MongoDB 中預設的資料庫為 test,如果你沒有建立新的資料庫,集合將存放在 test 資料庫中。

3。刪除資料庫

db.dropDatabase()

檢視當前資料庫為runoob; 刪除當前資料庫;檢視已有資料庫內該資料庫已經被刪除成功。
這裡寫圖片描述

刪除集合:

db.集合名.drop()

4。插入文件

使用insert()或者save()方法插入文件。

如果集合clo不存在則自動建立;檢視已經插入的文件。

db.COLLECTION_NAME.insert(document)

這裡寫圖片描述

將資料定義一個變數document,執行插入操作
這裡寫圖片描述
這裡寫圖片描述

插入文件也可以使用 db.col.save(document) 命令。如果不指定 _id 欄位 save() 方法類似於 insert() 方法。如果指定 _id 欄位,則會更新該 _id 的資料。

5。修改文件

update()方法

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

引數介紹:

  • query : update的查詢條件,類似sql update查詢內where後面的。
  • update : update的物件和一些更新的操作符(如,inc…)等,也可以理解為sql update查詢內set後面的
  • upsert :
    可選,這個引數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
  • multi : 可選,mongodb
    預設是false,只更新找到的第一條記錄,如果這個引數為true,就把按條件查出來多條記錄全部更新。
  • writeConcern :可選,丟擲異常的級別。

修改likes欄位:
這裡寫圖片描述

save()方法

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

引數說明:

  • document : 文件資料。
  • writeConcern :可選,丟擲異常的級別。

替換id為:5a7aa751c0dd1fd67944c706的文件
這裡寫圖片描述

6。刪除文件

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

引數說明:

  • query :(可選)刪除的文件的條件。
  • justOne : (可選)如果設為 true 或 1,則只刪除一個文件。
  • writeConcern :(可選)丟擲異常的級別。

刪除標題為test的文件
這裡寫圖片描述

刪除第一條資料

db.COLLECTION_NAME.deleteMany(DELETION_CRITERIA,1)

刪除 status 等於 D 的一個文件:

db.col.deleteOne( { status: "D" } )

刪除 status 等於 A 的全部文件:

db.col.deleteMany({ status : "A" })

刪除所有資料

db.col.deleteMany({})

7。查詢文件

db.collection.find(query, projection)
  • query :可選,使用查詢操作符指定查詢條件
  • projection :可選,使用投影操作符指定返回的鍵。查詢時返回文件中所有鍵值, 只需省略該引數即可(預設省略)。

查詢文件以易讀的方式讀取資料:

db.col.find().pretty()

這裡寫圖片描述

mongodb與關係型資料庫的比較

這裡寫圖片描述

AND條件

db.col.find({key1:value1, key2:value2}).pretty()

這裡寫圖片描述
類似於where title="mongodb教程" and likes=100

OR條件

db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

這裡寫圖片描述
類似於where likes=100 or title="111"

AND與OR聯合使用

這裡寫圖片描述
類似於where by="csdn" AND (likes = 100 OR title = '111')