• MongoDB了解及学习(1)


      很久没有写博客了,果然,懒惰是人类唯一的敌人。不知道为什么,这一段时间的自己都是比较迷茫的,可能也和这段时间工作有点忙有原因,但是这也不是一个好的借口。总之,这一段的博客自己后面还是慢慢补上自己欠下的债吧,反正自己也有记录。

      在这一段时间中的开发使用到了MongoDB,因为业务的关系,要做报表有关的业务逻辑。所以使用到了MongoDB最开始有点不明白的,因为使用MySQL习惯了,所以认为MongoDBMySQL没有什么太大的区别,不就是存储的对象的形式不一样?这也是了解的太少,后面慢慢的了解,知道了一些MongoDB的优点。下面就记录一下自己学习到的一些知识。

      安装MongoDB很简单,下面就简单的介绍一下mac安装的步骤。下载安装包,解压,移动到指定的目录下就完成了简单的安装,在安装目录下使用命令访问就可以了。

      后面的对于我来说就有点麻烦了,就是配置全局路径。因为mac也是刚使用不久,所以对于一些基础的命令还是不清楚。所以这一步都是看网上的教程。最后也是完成了。下面就说说具体干了什么。

      1.配置全局路径,找到bash_profile文件,添加MongoDB_HOME,并且修改PATH路径,最后使修改成效。这样就完成了第一步。

      2.MongoDB路径下增加datalog目录,修改mongoDB的数据库路径和log路径。这样就完成了mongoDB的安装。在终端敲击mongo就会启动mongoDB

      3.启动后,可以配置mongo的用户名和密码,这里说一下配置的用户,一个admin用于增加用户和删除用户,一个root用户最高权限,一个name用户用户连接特定的数据库(name可以随意起)。

      安装也是参考了别人的安装,就是下面的这篇博客。https://www.cnblogs.com/quickcodes/p/5390482.html

      完成了安装,下面就开始简单的使用,因为是初步的使用,所以就是简单的存取。

      首先是导入依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>

      在application.yml文件中配置MongoDB的信息

    data:
      mongodb:
        uri: mongodb://admin:admin@localhost:27017/test

      配置uri的时候发现了一个问题,最开始使用的如下的配置格式。

    data:
      mongodb:
        host: 192.168.22.208
        port: 27017
        database: wpew
        username: wpew
        password: wpewUser

      发现一直无法使用用户名和密码登录,去掉用户名密码可以。最开始以为mongo中用户名和密码错误,但是后来用该用户名和密码直接登录发现可以登录。后来改为上面的格式就可以了,目前不知道原因,可能是和依赖的版本有关,大家知道原因的也可以在评论中告知一下,非常感谢。

      下面就是代码中关于mongo的操作。增删改查基本的操作,后面更加复杂的聚合查询暂时还没有用到,后面也会慢慢补上。

      在具体的操作前需要先注入一个mongoTemplate对象,然后在完成具体的数据库的操作。

      操作都是很简单的,大部分都是一行代码,比如保存一个对象:

    mongoTemplate.insert(userDO);

      根据指定字段查询对象:

    Query query = new Query(Criteria.where("userName").is(userName));
    UserDO userDO = mongoTemplate.findOne(query, UserDO.class);

      这些都是一些基础的东西,具体深入的东西目前还没有接触到,后面还是要接着学习。

      说说具体遇到的问题吧,依赖的版本导致自己试了很久,后来导入正确的依赖就没有什么大问题了,大家写项目的时候一定要注意各个组件的依赖之间是否互斥。再后面就是配置的问题,和上面的一样,因为yml里面的格式导致了自己的代码一直报错,也是很郁闷。

      代码放在了自己的GitHub上面。地址是https://github.com/qq1162210866/SpringBootTrain.git

      就这样吧,结束。

  • 相关阅读:
    Android之输入框光标和Hint的位置
    Android之TextView密码输入变星号时间
    Android之布局onClick属性写法规则
    Android对话框之dismiss和cancel和hide区别
    Android Studio开发第四篇版本管理Git(下)
    Android对话框之Context
    [知识库:python-tornado]异步调用中的上下文控制Tornado stack context
    在 CentOS 下手工安装 Docker v1.1x
    Docker: 如何修改 Docker 的镜像存储位置
    Docker学习记录3: 搭建 Private Registry
  • 原文地址:https://www.cnblogs.com/yanyu01/p/10067674.html
Copyright © 2020-2023  润新知