日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简单的MongoDB实践

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单的MongoDB实践 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡單的MongoDB實踐

文章目錄

  • 簡單的MongoDB實踐
    • 操作環境
    • MongoDB認識
      • 查看配置文件
      • MongoDB與SQL術語
      • MongoDB外部命令
    • 常用Shell命令
    • 使用MongoDB的Shell命令
      • 創建數據庫
      • 查看當前數據庫
      • 向已創建的數據庫中插入任意文檔
      • 查看已插入的文檔
      • 更新文檔中任意字段值
      • 刪除剛創建的文檔、集合和數據庫
    • 常見問題
    • 參考文章

操作環境

  • 操作系統:Ubuntu 16.04
  • MongoDB版本:3.6.17

如果沒有安裝 MongoDB 的,請參照這篇博客進行安裝 Ubuntu16.04在線安裝MongoDB詳細教程

MongoDB認識

查看配置文件

在線安裝的 MongoDB,其配置文件 mongod.conf 默認在 /etc 目錄下,我們可以通過命令進行查看。

cat /etc/mongod.conf

在配置文件中, Storage:doPath指定了 MongoDB 數據庫的存儲路徑,默認是 /var/lib/mongodb

storage:
dbPath: /var/lib/mongodb

SystemLog:Path指定了日志文件的路徑,默認是 /var/log/mongodb/mongod.log。logAppend:true表示以追加的方式寫入日志。

systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log

我們可以根據自己的需求更改 MongoDB 的存儲路徑,當然也可以保持默認。

MongoDB與SQL術語

SQL術語MongoDB術語說明
databasedatabase數據庫
tablecollection數據庫表/集合
rowdocument數據記錄行/文檔
columnfield數據字段/域
indexindex索引
primary keyprimary key主鍵,MongoDB自動將_id字段設置為主鍵

MongoDB外部命令

在l操作 MongoDB 數據庫之前,應該熟悉一些基本的外部操作命令,例如啟動和關閉 MongoDB 等。

命令說明
sudo service mongodb start啟動 MongoDB
sudo service mongodb stop關閉 MongoDB
mongo -version查看 MongoDB 版本
pgrep mongo -l查看 MongoDB 是否啟動
mongo進入 MongoDB 的 shell 模式

這里我們輸入對應的命令啟動 MongoDB,并查看其是否啟動

可以看到,MongDB 已經成功啟動。

注意,如果 MongoDB 啟動時報錯,請參考“常見問題”進行解決

常用Shell命令

shell命令說明
show dbs查看所有數據庫
show users顯示所有的用戶
show collections顯示當前數據庫的集合
use DataBase_Name如果數據庫不存在,則創建數據庫,否則切換到指定數據庫。DataBase_Name是數據庫名
db查看當前數據庫名
db.dropDatabase()刪除當前數據庫
db.stats()顯示當前數據庫的一些信息
db.help()顯示數據庫操作指令
db.myCollection.insert(xxx)向集合中插入文檔,myCollection是集合名
db.myCollection.update(xxx)對集合中的文檔進行更新,myCollection是集合名對應
db.myCollection.remove(xxx)刪除集合中的對應文檔,myCollection是集合名
db.myCollection.find().pretty()以格式化易讀的方式顯示集合中的所有文檔,myCollection是集合名
db.myCollection.drop()刪除指定集合,myCollection是集合名

MongoDB 沒有類似于 create 這種創建數據庫的命令,如果想創建一個名為“student”的數據庫,先運行“use student”命令,之后往數據庫里插入一些數據,這個數據庫就創建成功了。

如果創建了數據庫之后不插入數據,那么當前數據庫為空,輸入 show dbs命令時看不到該數據庫的(MongoDB不會顯示空的數據庫)。一段時間內仍對其沒有操作的話,該數據庫會被自動刪除。

在 MongoDB 中,我們不需要創建集合。當我們插入一些文檔時,MongoDB 會自動創建集合。

MongoDB 中默認的數據庫為 test,如果你沒有創建新的數據庫,集合將存放在 test 數據庫中

使用MongoDB的Shell命令

在使用 MongoDB 的 shell 命令之前,我們應該先輸入命令 mongo 進入其 shell 模式。

啟動 shell 模式時可能會出現以下的一些 WARNING,這并不會影響到 MongoDB 的使用,忽略即可。

如果想要退出 shell 模式也很簡單,輸入 exit 命令即可。

創建數據庫

我們先看一下 MongoDB 的數據庫列表

show dbs

接著,我們創建一個名為 student 的數據庫,并往里插入一個文檔。

use student db.res.insert({"id":100, "name":"zhangsan"})

再次查看數據庫列表,可以發現 student 數據庫創建成功。

查看當前數據庫

  • 輸入命令 db 即可查看當前數據庫名稱
  • 輸入命令 db.stats() 可以查看當前數據庫的詳細信息

向已創建的數據庫中插入任意文檔

MongoDB可以不定義集合,在插入文檔時集合會自動創建。

我們可以在指定集合中一次插入一條文檔數據

db.test1.insert({"id":10, "name":"lisi", "age":22})

也可以一次插入多條

db.test2.insert([{"id":20, "name":"liwu", "age":20}, {"id":30, "name":"liliu", "age":21}, {"id":40, "name":"liqi", "age":22}])

查看已插入的文檔

我們先查看數據庫中的集合

show collections

然后查找每個集合中的文檔。查找的方法其實是 find(),pretty()方法是以易讀的形式進行展示

db.res.find().pretty() db.test1.find().pretty() db.test2.find().pretty()

find() 方法還支持條件查找,例如我們查找 id 小于 40 的文檔。具體的條件查找方法請參考這篇博客 mongodb 條件查詢

更新文檔中任意字段值

我們先查看 test2 集合中文檔,方便做對比。

使用 update() 方法更新數據

  • set中輸入的鍵值對應,則更新對應數據
  • set中輸入的鍵值不存在,則會在文檔后面添加
db.test2.update({"id":20},{$set:{'age':200}}) db.test2.update({"id":30},{$set:{'data':'hhh'}})

MongoDB中也可以使用 save() 方法進行更新,不過 save 相當于對整個文檔內容的全覆蓋,而不是局部更新。(sava方法一般用的很少)

如果使用save,就只需要使用 _id ,就能修改對應的數據了。

刪除剛創建的文檔、集合和數據庫

remove() 函數可以接受一個查詢文檔作為可選參數來有選擇性地刪除符合條件的文檔。刪除文檔是永久性的,不能撤銷,也不能恢復。我們在執行 remove() 函數前最好先用 find() 命令來查看文檔。

例如,我們刪除 test2 集合中 id 為 20 的所有文檔。

db.test2.remove({'id':20})

如果想要刪除 test2 集合下的所有文檔,可以使用如下方式(相當于truncate)

db.test2.remove({})

刪除集合,我們直接使用 drop() 方法。如果刪除集合的話,集合下現存的所有文檔也會被一并刪除。

db.test2.drop()

刪除數據庫,我們使用 dropDatabase() 方法。同樣,刪除數據庫的話,數據庫下所有現存的集合也都會別一并刪除。

db.dropDatabase()

常見問題

輸入“sudo service mongodb start”啟動 MongoDB 時報錯

Failed to start mongodb.service: Unit mongodb.service not found.

我們需要為 MongoDB 創建一個配置文件,一共是三步:

  • 使用 vim 編輯器創建配置文件
sudo vim /etc/systemd/system/mongodb.service
  • 在配置文件中添加如下內容

按“i”鍵進入編輯模式,將文本內容輸入進去。按“esc”鍵接著輸入“:wq”保存并退出。

[Unit] Description=High-performance, schema-free document-oriented database After=network.target[Service] User=mongodb ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf[Install] WantedBy=multi-user.target
  • 輸入如下命令啟動 MongoDB
sudo systemctl start mongodb sudo systemctl status mongodb

我們輸入命令測試 MongoDB 是否啟動成功。

pgrep mongo -l

找到了 MongoDB 進程,MongoDB 已經啟動成功。

以后每次啟動或關閉 MongoDB ,仍然使用 service 命令。

sudo service mongodb start sudo service mongodb stop

參考文章

Ubuntu下MongoDB安裝與使用教程

ubuntu16.04通過apt-get方式安裝MongoDB

菜鳥教程-MongoDB 教程

總結

以上是生活随笔為你收集整理的简单的MongoDB实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。