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