mongodb 安装及使用
mongodb 安装
下载地址
http://www.mongodb.org/downloads
安装指南
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/?_ga=1.268211404.331923154.1425605358#id2
安装过程中间 可以选择自定义 然后改变 安装地址
安装之后需要设置 数据目录
进入mongodb目录 在命令行输入D:\mongodb\bin\mongod.exe --dbpath D:\mongodb\data如果文件路径中含有空格 可以使用 引号 例如D:\mongodb\bin\mongod.exe --dbpath "D:\mongodb\data"启动mongodbD:\mongodb\bin\mongod.exe创建数据及 日志 目录
mkdir D:\mongodb\data\dbmkdir D:\mongodb\data\log
创建配置文件
echo logpath=D:\mongodb\data\log\mongod.log> "D:\mongodb\mongod.cfg"
echo dbpath=D:\mongodb\data\db>> "D:\mongodb\mongod.cfg"
创建mongodb 服务sc.exe create MongoDB binPath= "\"D:\mongodb\bin\mongod.exe\" --auth --service --config=\"D:\mongodb\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"
启动mongodb 服务net start MongoDB
关闭服务net stop MongoDB
删除mongodb 服务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 启动
启动成功然后重开一个命令行 执行 mongo 指令 运行 操作
新手指引的 文档
http://docs.mongodb.org/manual/tutorial/getting-started/
网上的另一个中文版的指导文档http://www.yiibai.com/mongodb/mongodb_create_collection.html
进入mongodb安装 目录命令行执行 mongo 会启动 mongodb的 命令行 工具,类似mysql
使用db命令
show dbs 显示所有的db
切换db
use mydb
帮助
help
mongodb 概念
databases 数据库 类似 mysql就是 一个数据库 的概念collection 类似 mysql 中的 一张表
可以使用use来创建数据库如果数据库存在 返回当前数据库,
如果不存在会直接创建新库use mark创建表
db.createCollection("mycollection")
显示表show collections
创建系统管理员
use admin
db.createUser( {
user: "mark", pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
添加成功
删除用户db.dropUser("mark");
创建单个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();
创建不受限制的超级用户
use admin
db.createUser( { user: "superuser", pwd: "12345678", roles: [ "root" ] })
list database 需要使用admin库的权限
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/里面有说明
账号连接的时候 如果不指定 数据库 会默认连接 admin
如果用户没有admin库的权限直接会 说未授权
代码改成下面这样是可以运行的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();