天天看點

MongoDB的基本用法

  MongoDB已在Ubuntu中安裝成功,為便于後續在ASP.NET Core中使用MongoDB,需要學習MongoDB的基本概念及用法。

設定MongoDB服務開機自動啟動

  重新開機Ubuntu後,安裝的MongoDB服務不會自動啟用,為便于程式連接配接資料庫并進行操作,最好設定MongoDB服務開機自動啟動。使用下列指令設定開機自動啟動(該指令需要root權限)。

systemctl enable mongodb.service
           

基本操作說明

  在etc目錄下存在mongod.conf檔案,其中指定了MongoDB資料庫檔案的存放位置。

MongoDB的基本用法

  MongoDB資料庫使用“use DATABASE_NAME”指令切換資料庫,如果資料庫不存在,則會建立資料庫。例如建立一個存儲chart.js圖形資料的資料庫ChartData,指令及效果如下所示

MongoDB的基本用法

  接下來建立存儲氣泡圖資料的集合,MongoDB中的集合對應着關系型資料庫中的表,表中存儲了很多條記錄,而在集合中則存儲有很多文檔(BSON文檔,詳見參考文獻2)。有兩種方式建立集合,第一種是使用db.createCollection(name)的方式建立,第二種是調用db.collection.insertOne() 或db.collection.insertMany()時,如果集合不存在,則自動建立集合。這兩種方式的指令及效果如下圖所示:

MongoDB的基本用法
MongoDB的基本用法

  上面圖形中,使用show collections顯示目前資料庫中的所有集合,使用db.collection.find().pretty()檢視集合中的所有資料。

  使用insertOne指令一次隻能向集合中插入一個文檔,可以使用insertMany同時插入多個文檔,其使用示意如下圖所示:

MongoDB的基本用法

  MongoDB使用db.collections.drop()來删除集合,其使用示意如下圖所示:

MongoDB的基本用法

  MongoDB使用下列指令删除集合中的一個或多個文檔。

db.collection.deleteMany()
    db.collection.deleteOne()
           

  deleteOne指令删除集合中滿足條件的第一個文檔。

MongoDB的基本用法

  而deleteMany指令删除集合中滿足條件的所有文檔。如果deleteMany指令不帶參數,則删除集合中的所有文檔,

MongoDB的基本用法

  MongoDB使用下列指令修改集合中的一個或多個文檔。

db.collection.updateOne(<filter>, <update>, <options>)
db.collection.updateMany(<filter>, <update>, <options>)
           

  updateOne指令将集合中滿足條件的第一個文檔的相應屬性修改為指定的内容,如下圖所示。updateMany指令将集合中滿足條件的所有文檔的相應屬性修改為指定的内容,在此就不在贅述。特别說明的是,update參數中需要中$set指定修改後的屬性的值,如下圖所示。

MongoDB的基本用法

  MongoDB使用db.collection.find()指令查詢集合中符合條件的文檔(pretty() 方法以格式化的方式來顯示所有文檔),如果沒有參數,則傳回集合中的所有文檔。

MongoDB的基本用法

  本文介紹了MongoDB中最基本的一些操作,對MongoDB有了初步的認識,後續還會繼續學習MongoDB資料庫的使用。

參考文獻:

[1]https://docs.mongodb.com/manual/crud/

[2]https://docs.mongodb.com/manual/core/document/#std-label-bson-document-format

[3]https://docs.mongodb.com/manual/core/databases-and-collections/#std-label-collections

[4https://blog.csdn.net/qq_36027670/article/details/79994202

[5]https://blog.csdn.net/qq_33036599/article/details/83061446

[6]https://www.runoob.com/mongodb/mongodb-create-database.html

[7]https://blog.csdn.net/lipei_csdn/article/details/81805400?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link