mongodb 安裝及使用

mongodb 安裝

下載地址

http://www.mongodb.org/downloads

安裝指南

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/?_ga=1.268211404.331923154.1425605358#id2

安裝過程中間 可以選擇自定義 然后改變 安裝地址

安裝之后需要設(shè)置 數(shù)據(jù)目錄

進(jìn)入mongodb目錄 在命令行輸入D:\mongodb\bin\mongod.exe --dbpath D:\mongodb\data如果文件路徑中含有空格 可以使用 引號 例如D:\mongodb\bin\mongod.exe --dbpath "D:\mongodb\data"啟動mongodbD:\mongodb\bin\mongod.exe創(chuàng)建數(shù)據(jù)及 日志 目錄

mkdir D:\mongodb\data\dbmkdir D:\mongodb\data\log

創(chuàng)建配置文件

echo logpath=D:\mongodb\data\log\mongod.log> "D:\mongodb\mongod.cfg"

echo dbpath=D:\mongodb\data\db>> "D:\mongodb\mongod.cfg"

創(chuàng)建mongodb 服務(wù)sc.exe create MongoDB binPath= "\"D:\mongodb\bin\mongod.exe\" --auth --service --config=\"D:\mongodb\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

啟動mongodb 服務(wù)net start MongoDB

關(guān)閉服務(wù)net stop MongoDB

刪除mongodb 服務(wù)sc.exe delete MongoDB

另一種啟動方式

echo logpath=D:\mongodb\data\log\mongod.log> "D:\mongodb\mongod.cnf"

echo dbpath=D:\mongodb\data\db> "D:\mongodb\mongod.cnf"

不指定 日志目錄,指定日志目錄老是提示文件存在,然后不啟動然后使用

mongod -f D:\mongodb\mongod.cnf 啟動?

啟動成功然后重開一個命令行 執(zhí)行 mongo 指令 運(yùn)行 操作

新手指引的 文檔

http://docs.mongodb.org/manual/tutorial/getting-started/

網(wǎng)上的另一個中文版的指導(dǎo)文檔http://www.yiibai.com/mongodb/mongodb_create_collection.html

進(jìn)入mongodb安裝 目錄命令行執(zhí)行 mongo 會啟動 mongodb的 命令行 工具,類似mysql?

使用db命令

show dbs 顯示所有的db

切換db

use mydb

幫助

help

mongodb 概念

?databases 數(shù)據(jù)庫 類似 mysql就是 一個數(shù)據(jù)庫 的概念collection 類似 mysql 中的 一張表

可以使用use來創(chuàng)建數(shù)據(jù)庫如果數(shù)據(jù)庫存在 返回當(dāng)前數(shù)據(jù)庫,

如果不存在會直接創(chuàng)建新庫use mark創(chuàng)建表

db.createCollection("mycollection")

顯示表show collections

創(chuàng)建系統(tǒng)管理員

use admin

db.createUser(? {? ??

user: "mark",? ? pwd: "123456",? ?

?roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]? })

添加成功

刪除用戶db.dropUser("mark");

創(chuàng)建單個DB的管理員use db1

db.dropUser("test");

db.createUser(? {? ? user: "test",? ? pwd: "123456",? ?

?roles: [ { role: "userAdmin", db: "test" },? ? { role: "readWrite", db: "test" } ]? })

db.auth("test","123456")

連接測試mongo test -u test -p 123456

查找所有用戶db.getUsers();

創(chuàng)建不受限制的超級用戶

use admin

db.createUser(? ? {? ? ? user: "superuser",? ? ? pwd: "12345678",? ? ? roles: [ "root" ]? ? })

list database 需要使用admin庫的權(quán)限

java 測試代碼使用最新的jar

http://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/

MongoClientURI uri = new MongoClientURI("mongodb://test:123456@localhost:27017/test");

MongoClient mongoClient = new MongoClient(uri );? ? ? ??

MongoIterabledatabaseNames = mongoClient.listDatabaseNames();

for (String database : databaseNames) {? ??

? ?System.out.println(database);

}? ? ? ??

mongoClient.close();

URI格式mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

http://docs.mongodb.org/manual/reference/connection-string/里面有說明

賬號連接的時候 如果不指定 數(shù)據(jù)庫 會默認(rèn)連接 admin?

如果用戶沒有admin庫的權(quán)限直接會 說未授權(quán)

代碼改成下面這樣是可以運(yùn)行的MongoClientURI uri = new MongoClientURI("mongodb://test:123456@localhost:27017/test");

MongoClient mongoClient = new MongoClient(uri );? ? ? ??

MongoDatabase database = mongoClient.getDatabase("test");

MongoIterablecollectionNames = database.listCollectionNames();

for (String cololectionName : collectionNames) {

? ?System.out.println(cololectionName);

}

mongoClient.close();

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容