中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

MongoDB日常使用的技巧與注意事項(xiàng)有哪些

這篇文章給大家分享的是有關(guān)MongoDB日常使用的技巧與注意事項(xiàng)有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了左權(quán)免費(fèi)建站歡迎大家使用!

一、查找數(shù)組字段不為空的記錄

查找數(shù)據(jù)中數(shù)組字段不為空的記錄。

舉個(gè)例子:有以下Mongo文檔,

{
 "id" : "581c060f2b436c05aafb1632",
 "commit_history" : [ 
 "581c20d52b436c05aafb1633", 
 "581c21c12b436c05aafb1634"
 ]
},
{
 "id" : "581c060f2b436c05aafb1633",
 "commit_history" : []
}

想要查找commit_history不為空的記錄,有以下方法:

      方法一: db.collection.find({commit_history: {$not: {$size: 0}}})

      方法二: db.collection.find({'commit_history.0': {$exists: 1}})

二、MongoDB添加用戶(hù)

在MongoDB中為一個(gè)Collection添加用戶(hù),可以如下操作:

use collection_name 切換到某個(gè)庫(kù)

db.createUser(
 {
 user: "collection_name",
 pwd: "password",
 roles: [ "readWrite", "dbAdmin" ]
 }
)

三、有的時(shí)候需要?jiǎng)h除指定字段那一列,使用update操作。

例如要?jiǎng)h除name這一列:

query  json:

{"name":{$exists:true}}

update json:

{$unset:{"name":""}}

四、數(shù)據(jù)導(dǎo)出,在mongodb的bin目錄執(zhí)行mongoexport命令并設(shè)定相關(guān)的參數(shù)

例如:

./mongoexport -h 192.168.0.201 --port 27017 –d admin –u admin –p admin -c department -o /home/admin/department.dat
  • -h:指定要連接的數(shù)據(jù)庫(kù)的ip;

  • --port:指定要連接的數(shù)據(jù)庫(kù)的端口;

  • -u:指定要連接的數(shù)據(jù)庫(kù)的用戶(hù)名;

  • -p:指定要連接的數(shù)據(jù)庫(kù)的用戶(hù)密碼;

  • -d:指定要連接的庫(kù)名;

  • -c:指定要導(dǎo)出的數(shù)據(jù)集合;

  • -o:指定要導(dǎo)出的數(shù)據(jù)目標(biāo)存放地址;

注:(1)、需要保證連接的數(shù)據(jù)庫(kù)處于正常運(yùn)行狀態(tài)中;

           (2)、我曾遇到過(guò)一中情況,數(shù)據(jù)庫(kù)中加入了用戶(hù)信息,啟動(dòng)時(shí)是沒(méi)有以用戶(hù)驗(yàn)證的方式啟動(dòng),但是執(zhí)行這個(gè)命令的時(shí)候,還是在我指定了用戶(hù)名和密碼的情況下才導(dǎo)出成功,如果有人遇到相似情況,不妨一試。

五、數(shù)據(jù)導(dǎo)入,在mongodb的bin目錄執(zhí)行mongoimport命令并設(shè)置相關(guān)的參數(shù),參數(shù)解釋和上邊一樣

例如:

./mongoimport --port 27017 -d admin -u admin –p admin –c department /home/common/mongodb305/bin/department.dat

六、非amdin數(shù)據(jù)庫(kù)的用戶(hù)驗(yàn)證問(wèn)題:

我們給mongodb數(shù)據(jù)庫(kù)中的庫(kù)添加用戶(hù),可以在目標(biāo)數(shù)據(jù)庫(kù)中使用如下命令,例如在mongoTest庫(kù)中添加一個(gè)擁有讀寫(xiě)權(quán)限的用戶(hù): 

db.createUser({"user":"test","pwd":"123456","roles":["readWrite"]})

也可以在admin數(shù)據(jù)庫(kù)中添加: 

db.createUser({"user":"test","pwd":"123456","roles":[{"role":"readWrite","db":"test"},"readWrite"]})

要注意的是:這兩種方式是有區(qū)別的,也正是這個(gè)區(qū)別曾坑了我一把:

使用第一種方式添加的時(shí)候,我們可以在mongodb的bin目錄下直接執(zhí)行如下命令進(jìn)入test數(shù)據(jù)庫(kù)中操作,增刪改查都可以;也可以使用這個(gè)用戶(hù)  名和密碼在mongoVUE中連接:

./mongo -h 192.168.0.201 --port 27017 -u test -p 123456 -d test

但是如果是第二種方式創(chuàng)建的,那么再直接使用上邊的命令,會(huì)提示驗(yàn)證失敗,只有當(dāng)先進(jìn)入mongo shell連接到admin數(shù)據(jù)庫(kù),再切換到test數(shù)據(jù)庫(kù)的時(shí)候才能驗(yàn)證通過(guò)。這算是一個(gè)小坑,不明情況的或許會(huì)非常糾結(jié),明明用戶(hù)名和密碼沒(méi)問(wèn)題,卻不知為什么就是連不上。

七、mongodb3.0默認(rèn)的數(shù)據(jù)存儲(chǔ)方式還是原來(lái)2.6一樣的,我嘗試過(guò)更改為新的存儲(chǔ)方式,在啟動(dòng)時(shí)使用如下參數(shù),但需要注意的是,需要在數(shù)據(jù)庫(kù)中沒(méi)有數(shù)據(jù)的前提下才可以,否則會(huì)報(bào)錯(cuò):

./mongod -f /mongodb304/conf/mongodb.conf --storageEngine wiredTiger

mongodb.conf中配置了啟動(dòng)的其他各種參數(shù),如dbpath、logpath等。

感謝各位的閱讀!關(guān)于“MongoDB日常使用的技巧與注意事項(xiàng)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

文章名稱(chēng):MongoDB日常使用的技巧與注意事項(xiàng)有哪些
文章分享:http://www.rwnh.cn/article48/ipcgep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、App開(kāi)發(fā)服務(wù)器托管、網(wǎng)站營(yíng)銷(xiāo)、響應(yīng)式網(wǎng)站品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
克山县| 开封县| 故城县| 神农架林区| 宝清县| 崇左市| 成安县| 砚山县| 北流市| 玉田县| 凤凰县| 徐汇区| 文昌市| 吴忠市| 九江县| 沙雅县| 平安县| 汝州市| 保靖县| 库车县| 青浦区| 灵山县| 大庆市| 盖州市| 巴楚县| 宣汉县| 永春县| 万宁市| 台中市| 昌平区| 探索| 汉阴县| 宝清县| 西乌珠穆沁旗| 巩留县| 繁峙县| 潼南县| 卓资县| 山阳县| 维西| 桓仁|