安装、使用mongodb踩过的坑

2023-05-16

轻松一下

没用分布式架构之前,你只有一个问题:并发性能不足。用了分布式架构,多出了一堆问题:数据如何同步、主键如何产生、如何熔断、分布式事务如何处理……

使用mongodb踩过的坑

今天对安装,使用mongodb踩过的坑做一个记录,以免以后忘了。
1. 安装mongodb
学习新技术总是要学习最新版本的,我到官网上下载了mongodb-win32-x86_64-2008plus-ssl-3.6.3-signed.msi,结果安装总是卡住,一晚上都没有安装起,查资料推荐安装mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi。
2. 开启服务
最开始开启服务没有在cmd命令行添加“”,导致服务没有开启,正确的开启方式:

mongod –dbpath “C:\Program Files\MongoDB\Server\3.2\data” –logpath “C:\Program Files\MongoDB\Server\3.2\log\mongodb.log”

3.检查是否安装成功

访问:http://localhost:27017/

4.创建服务,方便开启
4.1创建服务

在mongodb/bin中执行:
mongod.exe –logpath “C:\Program Files\MongoDB\Server\3.2\log\mongodb.log” –logappend –dbpath “C:\Program Files\MongoDB\Server\3.2\data” –directoryperdb –serviceName MongoDB –install

这里写图片描述

4.2删除服务

如果不用mongodb服务,执行: sc delete MongoDB

4.3添加服务启动不起,不要慌

在mongodb安装路径下data文件中有两个文件一个mongod.lock和storage.bson,一般删除mongod.lock就可以了,如果服务错误代码100还不能解决,就把storage.bson一起删掉再启动就可以了!

5.代码验证(spring boot)
5.1 在application.properties配置文件中添加mongodb的配置:

mongodb
spring.data.mongodb.uri=mongodb://root(userName):root(password)@localhost(ip地址):27017(端口号)/gis(collections/数据库)
spring.data.mongodb.uri=mongodb://localhost:27017/test //默认的时候直接使用

5.1:创建实体类

public class User implements Serializable {
    private static final long serialVersionUID = 1L;
    private Long id;
    private String userName;
    private String passWord;
    private String email;
    private String nickName;
    private String regTime;

5.2 mongodb的接口

public interface UserMongoDao {
    void saveUser(User user);
    User findUserByUserName(String userName);
    void updateUser(User user);
    void deleteUserById(Long id);
}

5.3 mongodb的dao层

package com.api.allApi.dao.mongo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;

import com.api.allApi.entity.User;

@Component
public class UserMongoDaoImp implements UserMongoDao {

    @Autowired
    private MongoTemplate mongoTemplate;

    /**
     * 创建对象
     * @param user
     */
    @Override
    public void saveUser(User user) {
        mongoTemplate.save(user);
    }

    /**
     * 根据用户名查询对象
     * @param userName
     * @return
     */
    @Override
    public User findUserByUserName(String userName) {
        Query query=new Query(Criteria.where("userName").is(userName));
        User user =  mongoTemplate.findOne(query , User.class);
        return user;
    }
 }

5.4.测试

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import com.api.allApi.dao.mongo.UserMongoDao;
import com.api.allApi.entity.User;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MongoDBTest {
    @Autowired
    private UserMongoDao userMongoDao;
    @Test
    public void saveUser() {
        User user = new User();
        user.setEmail("110@qq.com");
        user.setId((long) 10);
        user.setNickName("杰");
        user.setPassWord("89h");
        user.setUserName("bala杰");
        userMongoDao.saveUser(user);
    }
    @Test
    public void queryUserByName() {
        User user = userMongoDao.findUserByUserName("bala杰");
        System.out.println(user);
    }
}

输出结果:

User [id=10, userName=bala杰, passWord=89h, email=110@qq.com, nickName=杰, regTime=null]

测试mongodb能用,之后还会深入研究一下mongodb在python的应用和java应用中的注意事项和日志,积少成多,今天的坑到此结束了,okok!!

严肃一下!这里写图片描述

1.《国家地理》里说地球上最深的地方在太平洋的马里亚纳海沟,2016年拍了一组照片回来。最近科学家研究这些照片,发现里面有一个透明的东西,不知道是什么。最初以为那是某种未知的生物,后来确认了:那是一个塑料袋。
2.千万别上瘾只想去解决那些困难的问题。如果那些问题本身就是错的,你会浪费时间;如果你解决不了,也会浪费时间;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装、使用mongodb踩过的坑 的相关文章

随机推荐

  • 关于 make_unique 和 make_shared

    C 43 43 14 才加入make unique xff0c 据说当时忘记实现了 那么C 43 43 11 可以自己实现这个功能 xff1a template lt typename T typename Args gt std uniq
  • 音视频OSD——修改叠加信息的尺寸

    目录 分析 原理 错误想法 思考 代码 c h 效果 分析 在实际场景中 可能出现字模尺寸使用不合理的情况 此时就需要对OSD叠加的信息进行相应的缩放 思路如下 放大 位图中每个点 在YUV图像中画四个点 即放大两倍 缩小 位图中取奇数行或
  • ABAP 常用的系统变量說明

    系统内部有一个专门存放系统变量的结构SYST 其中最常用的系统变量有 SY SUBRC 系统执行某指令后 表示执行成功与否的变量 0 表示成功 SY UNAME 当前使用者登入SAP的USERNAME SY DATUM 当前系统日期 SY
  • 第四次产业革命源于人工智能(趋势…

    第四次产业革命源于人工智能 xff08 趋势解读 20 k字 xff09 秦陇纪10汇编 第四次产业革命源于人工智能 xff08 趋势解读 20 k字 xff09 xff0c 附 数据简化DataSimp 技术描述 学会及社区1k字 欢迎关
  • 无人机开源吊舱+云台+AI芯片级解决方案 (回复“无人机AI方案”下载PDF资料)

    无人机开源吊舱 43 云台 43 AI芯片级解决方案 xff08 回复 无人机AI方案 下载PDF资料 xff09 原创 xff1a 云汉智能 科学Sciences 今天 科学 Sciences 导读 xff1a 无人机开源吊舱 43 云台
  • Ubuntu16.04 远程桌面连接(VNC)

    1 查看我的Ubuntu系统版本 2 客户机win10下载vnc viewer安装 xff1a 下载地址 xff1a https download csdn net download qq 28284093 10387251 点击打开链接
  • Mark一下YOLO检测和跟踪

    主要在看这个 YOLO算法的原理与实现 https blog csdn net xiaohu2022 article details 79211732 E7 AE 97 E6 B3 95 E7 9A 84tf E5 AE 9E E7 8E
  • ROS中的launch文件

    launch文件怎么写 首先 xff0c ROS中的launch文件是自己创建的 xff08 我在ROS包源文件中并没有发现 xff09 接下来是launch文件的编写 xff0c 需要注意 1 xff1a 开头是 lt launch gt
  • Git Submodule管理项目子模块

    使用场景 当项目越来越庞大之后 xff0c 不可避免的要拆分成多个子模块 xff0c 我们希望各个子模块有独立的版本管理 xff0c 并且由专门的人去维护 xff0c 这时候我们就要用到git的submodule功能 常用命令 git cl
  • Spring Boot结合easyExcel实现自增序号

    有些业务功能要求能导出序号 xff0c 现在提供两种实现方式 通过mysql查询实现 xff1b 实现RowWriteHandler接口 xff0c 自定义拦截器 xff1b 一 通过mysql查询实现 通过自定义变量实现每行数据 43 1
  • Spring Boot 实体里的List集合参数验证

    Spring Boot 实体里的List集合参数验证 Spring Boot 通过Hibernate Validator 加验证大家都知道 不知道的话可以参考这篇文章SpringBoot里参数校验 参数验证 今天讲一下Spring Boot
  • 树形结构工具类,如:菜单、部门等

    1 树节点 span class token keyword package span span class token namespace com span class token punctuation span zjson span
  • EasyPoiUtil导出工具

    span class token keyword package span span class token namespace com span class token punctuation span zjson span class
  • sap上传excel文档字符限制处理

    abap中有多个函数处理上传的excel文档中的数据 xff0c 记录数据的信息 xff08 行 列 值 xff09 如 xff0c 函数KCD EXCEL OLE TO INT CONVERT xff1a data lt data in
  • ffmpeg部署和springboot使用

    视频存储部署 一 环境安装 1 1 yasm安装 在编译ffmpeg时 xff0c 执行 configure xff0c 报出了如下错误 xff1a nasm yasm not found or too old Use disable x8
  • 【docker】安装clickhouse

    一 联网安装clickhouse 1 为了方便安装 xff0c 将clickhouse的工作目录和数据目录都在同一个目录下 xff0c 在home下创建目录 mkdir clickhouse cd clickhouse 创建日志 配置文件
  • springboot整合mybatis-plus、clickhouse、mysql多数据源

    springboot的多数据源有多种方式 xff0c 本文按照指定不同dao mapper xml的方式来实现访问不同的数据源 这样的好处是不用注解去切换数据源 1 引入驱动 span class token generics span c
  • linux中的oracle启动和关闭

    一 启动数据库实例 span class token number 1 span 切换到oracle用户 su span class token operator span oracle span class token number 2
  • BigDecimal计算工具类

    方便以后大家使用 span class token keyword import span span class token namespace java span class token punctuation span math spa
  • 安装、使用mongodb踩过的坑

    轻松一下 没用分布式架构之前 xff0c 你只有一个问题 xff1a 并发性能不足 用了分布式架构 xff0c 多出了一堆问题 xff1a 数据如何同步 主键如何产生 如何熔断 分布式事务如何处理 使用mongodb踩过的坑 今天对安装 x