zoukankan      html  css  js  c++  java
  • MongoDB的入门使用

    一:MonoDB的简单介绍

    MongoDB是一个介于关系型数据库与非关系型数据库中间的数据库,是使用C++进行编写的,他的优点是在支持的查询格式特别的强大,可以进行存储比较复杂的数据类型,支持建立索引

    二:下载

    官方地址:https://www.mongodb.com/
    本教程下载 3.4版本:http://downloads.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi
     
    三:安装与启动服务
    1,对MongoDB进行安装之后,在bin的同级目录下创建 数据库路径(data目录),日志路径(logs目录)和 日志文件(mongo.log文件)
    2,创建并编辑配置文件:mongo.conf
    #数据库路径 
    dbpath=d:MongoDBServer3.4data 
    #日志输出文件路径 
    logpath=d:MongoDBServer3.4logsmongo.log 
    #错误日志采用追加模式 
    logappend=true 
    #启用日志文件,默认启用
    journal=true 
    #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false 
    quiet=true 
    #端口号 默认为27017 
    port=27017
    

    3,进入bin目录下,使用管理员进入命令行窗口,执行下面的命令进行安装

    mongod.exe --config " xxxx/mongo.conf(路径) " --install
    

    4,执行对应的命令

     net start MongoDB #启动MongoDB
     net stop MongoDB  #关闭MongoDB
     “...../mongod.exe” --remove #移除MongoDB
    

    5,验证是否启动成功

    访问:http://localhost:27017 查询MongoDB的页面

    四:对于客户端的安装:

    目前对于MongoDB 的客户端有很多可以自行下载,我推荐的是nosqlbooster,下载地址:https://nosqlbooster.com/downloads

    五:java对MongoDB的简单使用

    1,服务的连接格式

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

    对应的名词解释: 

      mongodb:// 固定前缀
      username:账号,可不填
      password:密码,可不填
      host:主机名或ip地址,只有host主机名为必填项。
      port:端口,可不填,默认27017
      /database:连接某一个数据库
      ?options:连接参数,key/value对
     
    示例:
    1,mongodb://localhost 连接本地数据库27017端口
    2,mongodb://root:itcast@localhost 使用用户名root密码为itcast连接本地数据库27017端口
    3,mongodb://localhost,localhost:27018,localhost:27019,连接三台主从服务器,端口为27017、27018、27019
     
    2,添加依赖
     <dependency>
         <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>3.4.3</version>
    </dependency>
    

    3,代码测试连接

       //测试连接
        @Test
        public void testConnect(){
            //创建客户端
            MongoClient mongoClient = new MongoClient("localhost", 27017);
            //采用连接字符串简历连接
            // MongoClientURI connecting = new  MongoClientURI("mongodb://localhost:27017/test"); //记得数据库的名字
            //MongoClient client = new MongoClient(connecting);
            MongoDatabase database = mongoClient.getDatabase("test");//获取数据库
            MongoCollection<Document> collection = database.getCollection("student"); //获取对应的表
            Document document = collection.find().first(); //获取对应的行
            String json = document.toJson();
            System.out.println(json);
        }
    

      注意:在使用URI进行连接的时候,加上数据库的名字,如果出现了如下的错误,【MongoCommandException: Command failed with error 18: 'Authentication      failed.】,此时请检查连接的地址以及用户是否是该数据库所属的用户,在MongoDB中,一个用户对应一个库,在连接时应写对应的

    六:MongoDB涉及命令

    #数据库以及集合相关
    1,show dbs 查询全部数据库
    2,use dbbase_name 切换或者创建数据库
    3,db.dropDatabase() 删除数据库,要先切换到对应的数据库下
    4,db.createCollection(name,options),
    5,db.collectionName.drop()  删除集合
    6,db.collectionName.insert({"key": "value"}) 对集合添加数据
    7,db.collectionName.update( {更新条件},{更新的内容},选项 )
    8,db.collectionName.remove({删除条件})根据条件进行删除文档
    9,db.collectionName.remove()  删除所有的文档
    10,db.collectionName.find({查询条件}),没有条件就是查询所有的文档
    11,db.collectionName.find({查询条件},{要显示的字段,需要显示的是1,不需要显示的是0,不用加双引号}),投影查询
    
    #用户相关
    1,先切换到对应的数据库下:use databaseName 
    2,sb.createUser({
            user: "username",
            pwd:"密码",
            roles:[
            { role:"角色",db:"数据库名字"   }
        ]
    })
    show users: 查询用户
    db.dropUser(“ 用户名 ”)  删除用户
    db.updateUser("用户名",{roles:[{role:"角色",db:“数据库角色”}]}) 修改用户信息
    db.changeUserPassword("用户名",“新的密码”)
    

      

  • 相关阅读:
    函数—函数进阶(二)
    函数—函数进阶(一)
    函数(三)
    函数(二)
    函数(一)
    人丑就要多读书、三元运算、文件处理
    第二章练习题
    Python bytes类型介绍、Python3与2字符串的区别、Python3与2编码总结
    进制运算、字符编码、Python3的执行流程
    去除inline-block元素间间距,比较靠谱的两种办法
  • 原文地址:https://www.cnblogs.com/gdhzdbh/p/11531017.html
Copyright © 2011-2022 走看看