美文网首页我爱编程
mongodb 安装及使用

mongodb 安装及使用

作者: markahcn | 来源:发表于2015-03-09 10:55 被阅读2011次

    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();

    相关文章

      网友评论

        本文标题:mongodb 安装及使用

        本文链接:https://www.haomeiwen.com/subject/fnpvxttx.html