MongoDB 基本操作

操作MongoDB的步驟

1.創(chuàng)建數(shù)據(jù)庫中數(shù)據(jù)的存儲目錄

2.啟動MongoDB的服務(wù)實例

3.創(chuàng)建數(shù)據(jù)庫

4.創(chuàng)建集合

5.創(chuàng)建文檔

核心思想:

? ? 1.分門別類的存儲數(shù)據(jù)

? ? 2.mongodb是以`集合`的概念來區(qū)分不同數(shù)據(jù)的,比如用戶集合,商品集合,訂單集合等等,不同的數(shù)據(jù)要放在不同的集合中去統(tǒng)一管理

? ? 3.集合里面存儲的可以認(rèn)為是一個數(shù)組

? ? 4.數(shù)組中的每一個對象,可以認(rèn)為就是JSON對象,在mongodb中我們稱之為 `文檔`

? ? 5.文檔的結(jié)構(gòu)可以隨意,但是必須統(tǒng)一,也就是說,同一個集合中,所有的文檔一定要遵守相同的數(shù)據(jù)結(jié)構(gòu)

其他:

? ? `集合`的作用就是用來隔離數(shù)據(jù),分門別類的存儲數(shù)據(jù)

連接:

連接方式1:使用MongoDB自帶的MongoDB后臺管理 Shell

? ? 在終端中輸入 mongo 或是 mongo --host 127.0.0.1 --port 27017

連接及操作方式2:使用圖形化客戶端工具:

? ? robomongo(跨平臺) : https://robomongo.org/downloa

基本操作命令:

show dbs

查看當(dāng)前服務(wù)實例上所有的數(shù)據(jù)庫

use 數(shù)據(jù)庫名稱

如果數(shù)據(jù)庫不存在,則創(chuàng)建數(shù)據(jù)庫,否則切換到指定數(shù)據(jù)庫。

db

查看當(dāng)前所處的數(shù)據(jù)庫

show collections

查看當(dāng)前數(shù)據(jù)庫中所有的集合

db.createCollection("集合名稱")

創(chuàng)建集合

db.集合名稱.insert({數(shù)據(jù)文檔})

插入的每一條文檔會自動幫我們生成一個_id字段,它是mongodb自動維護(hù)的,不需要我們關(guān)心

db.集合名稱.find()

查詢指定集合中所有的數(shù)據(jù)

可以通過 db.集合名稱.find().pretty() 美化輸出格式

默認(rèn)是查詢所有,可以通過:db.集合名稱.find({查詢條件}) 按條件查詢集合中的數(shù)據(jù)

db.集合名稱.update({更新條件}, {要更新的字段})

更新指定集合數(shù)據(jù),注意點(diǎn),要更新的字段一定要這樣寫 {$set:{字段的名稱:字段的值}},

db.集合名稱.remove({刪除條件})

刪除指定集合中的數(shù)據(jù)

exit 退出當(dāng)前操作

cls 清屏

注意點(diǎn):更新和刪除時一般都需要帶條件,除非是全部更新與全部刪除,不過全部更新與全部刪除這樣很危險,實際操作過程中很少

mongodb導(dǎo)出:

1、導(dǎo)出工具:mongoexport

1、概念:

? ? ? ? mongoDB中的mongoexport工具可以把一個collection導(dǎo)出成JSON格式或CSV格式的文件??梢酝ㄟ^參數(shù)指定導(dǎo)出的數(shù)據(jù)項,也可以根據(jù)指定的條件導(dǎo)出數(shù)據(jù)。

2、語法:

mongoexport -d dbname -c collectionname -o file --type json/csv -f field

參數(shù)說明:

-d :數(shù)據(jù)庫名

-c :collection名

-o :輸出的文件名

--type : 輸出的格式,默認(rèn)為json

-f :輸出的字段,如果-type為csv,則需要加上-f "字段名"

3、示例:

sudo mongoexport -d mongotest -c users -o /home/python/Desktop/mongoDB/users.json --type json -f? "_id,user_id,user_name,age,status"

2、數(shù)據(jù)導(dǎo)入:mongoimport

1、語法:

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field

參數(shù)說明:

-d :數(shù)據(jù)庫名

-c :collection名

--type :導(dǎo)入的格式默認(rèn)json

-f :導(dǎo)入的字段名

--headerline :如果導(dǎo)入的格式是csv,則可以使用第一行的標(biāo)題作為導(dǎo)入的字段

--file :要導(dǎo)入的文件

2、示例:

sudo mongoimport -d mongotest -c users --file /home/mongodump/articles.json --type json

mongodb備份和恢復(fù)

MongoDB數(shù)據(jù)備份

在Mongodb中我們使用mongodump命令來備份MongoDB數(shù)據(jù)。該命令可以導(dǎo)出所有數(shù)據(jù)到指定目錄中。

mongodump命令可以通過參數(shù)指定導(dǎo)出的數(shù)據(jù)量級轉(zhuǎn)存的服務(wù)器。

語法

mongodump命令腳本語法如下:

mongodump -h dbhost -d dbname -o dbdirectory

-h:

MongDB所在服務(wù)器地址,例如:127.0.0.1,當(dāng)然也可以指定端口號:127.0.0.1:27017

-d:

需要備份的數(shù)據(jù)庫實例,例如:test

-o:

備份的數(shù)據(jù)存放位置,例如:c:\data\dump,當(dāng)然該目錄需要提前建立,在備份完成后,系統(tǒng)自動在dump目錄下建立一個test目錄,這個目錄里面存放該數(shù)據(jù)庫實例的備份數(shù)據(jù)。

MongoDB數(shù)據(jù)恢復(fù)

mongodb使用 mongorestore 命令來恢復(fù)備份的數(shù)據(jù)。

語法

mongorestore命令腳本語法如下:

mongorestore -h <hostname><:port> -d dbname <path>

--host <:port>, -h <:port>:

MongoDB所在服務(wù)器地址,默認(rèn)為: localhost:27017

--db , -d :

需要恢復(fù)的數(shù)據(jù)庫實例,例如:test,當(dāng)然這個名稱也可以和備份時候的不一樣,比如test2

--drop:

恢復(fù)的時候,先刪除當(dāng)前數(shù)據(jù),然后恢復(fù)備份的數(shù)據(jù)。就是說,恢復(fù)后,備份后添加修改的數(shù)據(jù)都會被刪除,慎用哦!

<path>:

mongorestore 最后的一個參數(shù),設(shè)置備份數(shù)據(jù)所在位置,例如:c:\data\dump\test。

你不能同時指定 <path> 和 --dir 選項,--dir也可以設(shè)置備份目錄。

--dir:

指定備份的目錄

你不能同時指定 <path> 和 --dir 選項。

例子:鎖的小程序后臺數(shù)據(jù)庫

mongodump -d lock -o /www/wwwroot

mongorestore -d lock D:\data\lock

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • mongodb介紹 1.什么是mongodb? mongodb 是由c++語言編寫的,是一個基于分布式文件存儲的開...
    咻咻咻滴趙大妞閱讀 324評論 0 0
  • 什么是Mongodb數(shù)據(jù)庫? MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng) Mo...
    瘦不下去了閱讀 721評論 0 0
  • MongoDB簡介 MongoDB 是一個基于分布式文件存儲的數(shù)據(jù)庫。由 C++ 語言編寫。旨在為 WEB 應(yīng)用提...
    奮斗的小鳥GO閱讀 791評論 0 4
  • NoSql數(shù)據(jù)庫優(yōu)缺點(diǎn) 在優(yōu)勢方面主要體現(xiàn)在下面幾點(diǎn): 簡單的擴(kuò)展 快速的讀寫 低廉的成本 靈活的數(shù)據(jù)模型 在不足...
    dreamer_lk閱讀 2,881評論 0 6
  • MongoDB 項目介紹 MongoDB : 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功...
    怪咖村長閱讀 1,705評論 0 1

友情鏈接更多精彩內(nèi)容