日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MongoDB之基本操作與日常維護(hù)-創(chuàng)新互聯(lián)

MongoDB基本操作

MongoDB的基本操作主要是對數(shù)據(jù)庫、集合、文檔的操作,包括創(chuàng)建數(shù)據(jù)庫、刪除數(shù)據(jù)庫、插入文檔、更改文檔、刪除文檔、和查詢文檔。

10年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站制作,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對軟裝設(shè)計(jì)等多個行業(yè),擁有豐富建站經(jīng)驗(yàn)。
操作 描述
show dbs查看當(dāng)前實(shí)例下的數(shù)據(jù)庫列表
show users顯示用戶
use 切換當(dāng)前數(shù)據(jù)庫
db.help()顯示數(shù)據(jù)庫操作命令
show.collections顯示當(dāng)前數(shù)據(jù)庫中的集合
db.foo.help()顯示集合操作命令,foo是當(dāng)前數(shù)據(jù)庫下的集合
db.foo.find()對當(dāng)前數(shù)據(jù)庫中foo集合進(jìn)行數(shù)據(jù)查找
MongoDB數(shù)據(jù)類型
  • MongoDB支持許多數(shù)據(jù)類型的列表下面給出:
  • String : 這是最常用的數(shù)據(jù)類型來存儲數(shù)據(jù)。在MongoDB中的字符串必須是有效的UTF-8。
  • Integer : 這種類型是用來存儲一個數(shù)值。整數(shù)可以是32位或64位,這取決于您的服務(wù)器。
  • Boolean : 此類型用于存儲一個布爾值 (true/ false) 。
  • Double : 這種類型是用來存儲浮點(diǎn)值。
  • Min/ Max keys : 這種類型被用來對BSON元素的最低和高值比較。
  • Arrays : 使用此類型的數(shù)組或列表或多個值存儲到一個鍵。
  • Timestamp : 時間戳。這可以方便記錄時的文件已被修改或添加。
  • Object : 此數(shù)據(jù)類型用于嵌入式的文件。
  • Null : 這種類型是用來存儲一個Null值。
  • Symbol : 此數(shù)據(jù)類型用于字符串相同,但它通常是保留給特定符號類型的語言使用。
  • Date : 此數(shù)據(jù)類型用于存儲當(dāng)前日期或時間的UNIX時間格式??梢灾付ㄗ约旱娜掌诤蜁r間,日期和年,月,日到創(chuàng)建對象。
  • Object ID : 此數(shù)據(jù)類型用于存儲文檔的ID。
  • Binary data : 此數(shù)據(jù)類型用于存儲二進(jìn)制數(shù)據(jù)。
  • Code : 此數(shù)據(jù)類型用于存儲到文檔中的JavaScript代碼。
  • Regular expression : 此數(shù)據(jù)類型用于存儲正則表
#創(chuàng)建數(shù)據(jù)庫testdb數(shù)據(jù)庫,使用以下語句
mongos> use testdb;
#查詢數(shù)據(jù)庫,要顯示數(shù)據(jù)庫必須插入至少一條文檔
mongos> show dbs;
#插入數(shù)據(jù)文檔
mongos> db.tablename.insert({"name":"antian"});
#數(shù)據(jù)庫生成了
mongos> show dbs;
testdb  0.078GB

#查詢數(shù)據(jù)庫
mongos> show dbs;
testdb  0.078GB
#進(jìn)入數(shù)據(jù)庫
mongos> use testdb;
#刪除數(shù)據(jù)庫
mongos> db.dropDatabase();
{ "dropped" : "testdb", "ok" : 1 }
#查詢數(shù)據(jù)庫
mongos> show dbs;
#創(chuàng)建集合
#進(jìn)入數(shù)據(jù)庫
mongos> use testdb;
#創(chuàng)建集合
mongos> db.createCollection("mycollection")
mongos> show tables;
mycollection

#刪除集合
#進(jìn)入數(shù)據(jù)庫
mongos> use testdb;
mongos> show tables;
mycollection
mongos> db.mycollection.drop();
true
mongos> show tables;
#插入文檔
#插入一條文檔
mongos> db.tablesname.insert([{"name":"aaaaa","age":"18"}
#插入兩條文檔
mongos> db.tablesname.insert([{"name":"ddddd","age":"18"},{"name":"eeee","age":"10"}]);
#查詢一個文檔:
mongos> db.tablesname.findOne();

MongoDB日常維護(hù)

一.導(dǎo)入導(dǎo)出

mongoimport命令可以把一個特定格式文件中的內(nèi)容導(dǎo)入到指定的collection中。該工具可以導(dǎo)入JSON格式數(shù)據(jù),也可以導(dǎo)入CSV格式的數(shù)據(jù)。
mongoexport命令可以把一個collection導(dǎo)出成JSON格式或CSV格式的文件??梢酝ㄟ^參數(shù)指定導(dǎo)出的數(shù)據(jù)項(xiàng),也可以根據(jù)指定的條件導(dǎo)出數(shù)據(jù)。
參數(shù)說明:

  • -d:指明數(shù)據(jù)庫的名字
  • -c:指明collection的名字
  • -f:指明要導(dǎo)出哪些列
  • -o:指明要導(dǎo)出的文件名
  • -q:指明導(dǎo)出數(shù)據(jù)的過濾條件
for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i})    //循環(huán)寫入100條數(shù)據(jù)
mongoexport -d school -c info -o /opt/info.json   //導(dǎo)出
mongoimport -d school -c info1 --file /opt/info.json  //導(dǎo)入到info集合
mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json    //條件導(dǎo)出指定第10行

二.備份與恢復(fù)

備份:mongodump
恢復(fù):mongorestore

參數(shù)說明:

  • -h: MongoDB所在服務(wù)器地址
  • -d:需要備份的數(shù)據(jù)庫實(shí)例
  • -o:備份的數(shù)據(jù)存放的位置,該目錄需要提前建立,在備份完成后,系統(tǒng)自動在dump目錄下建立一個test目錄,這個目錄里面存放該數(shù)據(jù)庫實(shí)例的備份數(shù)據(jù)。
mkdir /backup   //創(chuàng)建存放目錄
mongodump -d abc -o /backup/       //備份abc數(shù)據(jù)庫
mongorestore -d abc123 --dir=/backup/abc    //恢復(fù)到abc123數(shù)據(jù)庫

三.復(fù)制數(shù)據(jù)庫

db.copyDatabase

>db.copyDatabase("abc","abc1")  //復(fù)制數(shù)據(jù)庫abc生成abc1

四.克隆集合

runCommand
將abc中的info集合克隆到實(shí)例2

mongo --port 27018      //進(jìn)入實(shí)例2
db.runCommand({"cloneCollection":"abc.info","from":"192.168.100.152:27017"})

五.授權(quán)啟動

可以配置授權(quán)用戶來訪問MongoDB,啟動時必須指定auth=true,否則授權(quán)不起作用。
可以將用戶加入到角色,內(nèi)置數(shù)據(jù)庫用戶角色包括:read、readWrite,數(shù)據(jù)庫管理角色包括:dbAdmin、dbOwner、useAdmin,超級用戶角色為root。

vim /usr/bin/mongodb1.conf
......
auth=true
......
mongo
>use admin
>db.createUser({"zx":"root","pwd":"123","roles":"[root"]})      //創(chuàng)建用戶zx,密碼為123,分配到root角色
>db.auth("root","123")      //驗(yàn)證用戶

六.進(jìn)程管理

  • 查看當(dāng)前正在運(yùn)行的進(jìn)程的命令為:db.currentOp()
  • 終止正在運(yùn)行的高消耗資源的進(jìn)程命令為:db.killOp(opid)

七.MongoDB監(jiān)控

  • 查看數(shù)據(jù)庫實(shí)例的狀態(tài)信息:db.serverStatus()
  • 查看當(dāng)前數(shù)據(jù)庫的統(tǒng)計(jì)信息:db.status()
  • 查看集合統(tǒng)計(jì)信息:db.users.stats()
  • 查看集合大?。?strong>db.users.dataSize()
  • 也可以通過Web界面查看系統(tǒng)監(jiān)控信息,需要在配置文件中添加下面一行:
    httpinterface=true

然后在瀏覽器中通過http://localhost:28017 進(jìn)行訪問。通過Web頁面可以看到:

  • 當(dāng)前MongoDB的所有連接
  • 各個數(shù)據(jù)庫和Collection的訪問統(tǒng)計(jì),包括:Reads、Writes、Queries、GetMores、Inserts、Updates、Removes。
  • 寫鎖的狀態(tài)
  • 日志文件的最后幾百行。
  • 所有的MongoDB命令。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


分享標(biāo)題:MongoDB之基本操作與日常維護(hù)-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.dlmjj.cn/article/dgjcpd.html