1.linux下啟動(dòng)一個(gè)服務(wù) ./mongod --dbpath="/usr/local/mongodbdata/test/" --logpath="/usr/local/mongodblog/m11.log" --port 27017 --fork
啟動(dòng)后客戶端連接:./mongo
2.顯示所有數(shù)據(jù)庫(kù):show dbs; 使用數(shù)據(jù)庫(kù): use test; 查看當(dāng)前:db 查看幫助:db.help();
創(chuàng)建數(shù)據(jù)庫(kù)(隱式):直接 use shop;
刪除數(shù)據(jù)庫(kù):刪除前先使用db看一下在哪個(gè)數(shù)據(jù)庫(kù),然后 直接執(zhí)行db.dropDataBase();
創(chuàng)建集合:db.createCollection("jihe_name"); 經(jīng)常使用隱式創(chuàng)建:db.jihe_name.insert({name:"test"});
刪除集合:db.jihe_name.drop();
集合里插入文檔(一條記錄(數(shù)據(jù))):db.jihe_name.insert({name:"zhangsan",age:23});
集合里:db.jihe_name.find();查出的結(jié)果中,_id做為文檔的唯一標(biāo)識(shí),是可能手動(dòng)指定的:db.jihe_name.insert({_id:3,name="zhangsan"});
集合里刪除一個(gè)文檔:db.jihe_name.remove({條件key:條件value});
集合里修改一個(gè)文檔:db.jihe_name.update({id:3},{$set:{name:"zhangsan111"}},1,1); //第三個(gè)參數(shù)如果為1:如果記錄存在,則更新,不存在則新增 ;第4個(gè)參數(shù)為1:符合條件的金條記錄全都更新,如果為0,則只更新1條
集合里自動(dòng)增1:db.jihe_name.update({條件},{$inc:{age:1}});
集合里刪除某個(gè)字段:db.jihe_name.update({條件},{$unset:{address:1},0,1});
集合里查找全部:db.jihe_name.find(條件);
集合里查找特殊的列:db.jihe_name.find({條件},{age:0}); 則age字段不顯示
集合里大于小于。。。:db.jihe_name.find({field:{$gt:value}}); $lt $gte $lte $ne
集合里in:db.jihe_name.find({age:{$in:[1,2,3,4]}}); //$nin
集合里or:db.jihe_name.find({$or:[{name:"user2"},{age:3}]}); //$nor
集合里存在某字段name:db.jihe_name.find({name:{$exists:1}});
集合里查找第一個(gè):db.jihe_name.findOne();
集合里統(tǒng)計(jì):db.jihe_name.find().count();
集合里排序:db.jihe_name.find().sort({age:1}); //1:升序,-1:降序
集合里分頁(yè):db.jihe_name.find().sort({條件}).skip().limit();
創(chuàng)建普通索引,使用命令 db.collection.ensureIndex({key:1})
查看關(guān)于索引的相關(guān)信息,使用命令 db.collection.stats()
查看查詢使用索引的情況,使用命令 db.collection.find({key:value}).explain()
刪除索引,使用命令 db.collection.dropIndex({key:1})
刪除集合,也會(huì)將集合中的索引全部刪除
創(chuàng)建唯一索引,使用命令 db.collection.ensureIndex({key:1},{unique:true})
查看關(guān)于索引的相關(guān)信息,使用命令 db.collection.stats()
查看查詢使用索引的情況,使用命令 db.collection.find({key:value}).explain()
刪除索引,使用命令 db.collection.dropIndex({key:1})
刪除集合,也會(huì)將集合中的索引全部刪除
固定集合
db.createCollection(“collectionName”,{capped:true,size:100000,max:100});
size指定集合大小,單位為KB,max指定文檔的數(shù)量
備份和恢復(fù)
MongoDB提供了備份和恢復(fù)的功能,分別是MongoDB下載目錄下的mongodump.exe和mongorestore.exe文件
備份數(shù)據(jù)使用下面的命令:
>mongodump -h dbhost -d dbname -o dbdirectory
-h:MongDB所在服務(wù)器地址,例如:127.0.0.1,當(dāng)然也可以指定端口號(hào):127.0.0.1:27017
-d:需要備份的數(shù)據(jù)庫(kù)實(shí)例,例如:test
-o:備份的數(shù)據(jù)存放位置,例如:c:\data\dump,當(dāng)然該目錄需要提前建立,在備份完成后,系統(tǒng)自動(dòng)在dump目錄下建立一個(gè)test目錄,這個(gè)目錄里面存放該數(shù)據(jù)庫(kù)實(shí)例的備份數(shù)據(jù)。
恢復(fù)數(shù)據(jù)使用下面的命令:
>mongorestore -h dbhost -d dbname -directoryperdb dbdirectory
-h:MongoDB所在服務(wù)器地址
-d:需要恢復(fù)的數(shù)據(jù)庫(kù)實(shí)例,例如:test,當(dāng)然這個(gè)名稱也可以和備份時(shí)候的不一樣,比如test2
-directoryperdb:備份數(shù)據(jù)所在位置,例如:c:\data\dump\test
導(dǎo)入和導(dǎo)出
導(dǎo)出數(shù)據(jù)可以使用命令:
mongoexport -h dbhost -d dbname -c collectionName -o output
參數(shù)說(shuō)明:
-h 數(shù)據(jù)庫(kù)地址
-d 指明使用的庫(kù)
-c 指明要導(dǎo)出的集合
-o 指明要導(dǎo)出的文件名
導(dǎo)入數(shù)據(jù)可以使用命令:
mongoimport -h dbhost -d dbname -c collectionname 文件的地址...
參數(shù)說(shuō)明:
-h 數(shù)據(jù)庫(kù)地址
-d 指明使用的庫(kù)
-c 指明要導(dǎo)入的集合
在admin數(shù)據(jù)庫(kù)中創(chuàng)建管理員賬號(hào):
use admin;
db.addUser(“root”,”root”);
在test數(shù)據(jù)庫(kù)中創(chuàng)建普通賬號(hào):
use test;
db.addUser(“zhangsan”,”123”);
db.addUser(“lisi”,”123”,true);
注意:用戶zhangsan,密碼為123,對(duì)test數(shù)據(jù)庫(kù)擁有讀寫(xiě)權(quán)限
用戶lisi,密碼為123,對(duì)test數(shù)據(jù)庫(kù)擁有只讀權(quán)限
重新啟動(dòng)數(shù)據(jù)庫(kù)服務(wù),并開(kāi)啟安全檢查:
mongod --dbpath d:\mongo_data --auth
posted on 2017-02-25 16:24
長(zhǎng)春語(yǔ)林科技 閱讀(146)
評(píng)論(0) 編輯 收藏 所屬分類:
mongodb