dokcer-mongodb
1.mongoDb的版本是5.0
2.拉取镜像
docker pull mongo:5.0
3.运行镜像
3.1. docker run -d -p 27017:27017 -v /home/mongo/data:/data/db -v /home/mongo/configdb:/data/configdb --name mongodb mongo:5.0 --auth
3.2 .
db.info.save({name: 'test', age: '22'})
5.11 查询mesDb数据库查询
db.info.find();
5.12. 删除库
登录当前库 use xxdb
删除 : db.dropDatabase()
db.system.users.remove({user:"user"})
db.system.users.find()
5.14.修改用户权限
db.grantRolesToUser("mesAdmin", [{role:"root", db:"mesDb"}]) # 修改权限
5.7 show collections:显示当前数据库中的集合(类似关系数据库中的表)
logical sessions can't have multiple authenticated users
# bindIp: 127.0.0.1
bindIp: 0.0.0.0

https://blog.csdn.net/qq_32234547/article/details/110621529
8.SpringBoot整合MongoDB实现增删改查
9.springboot集成mongodb去掉_class字段
9.1 springboot2.x 版本去掉_class的时候 报错 org.springframework.data.mongodb.MongoDbFactory已经过时了
9.2 解决办法 但现在需要把MongoDbFactory改为MongoDataBaseFactory
package com.ins.mesrabbitmq.common.mongo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.MongoDatabaseFactory; import org.springframework.data.mongodb.core.convert.*; import org.springframework.data.mongodb.core.mapping.MongoMappingContext; /** * @program: mesadminserver * @description 去掉_class字段 * @author: zhaoJs * @create: 2022-03-11 15:43 **/ @Configuration @Slf4j public class MongoConfig { @Bean public MappingMongoConverter mappingMongoConverter(MongoDatabaseFactory factory, MongoMappingContext context, BeanFactory beanFactory) { DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory); MappingMongoConverter mappingConverter = new MappingMongoConverter(dbRefResolver, context); try { mappingConverter.setCustomConversions(beanFactory.getBean(CustomConversions.class)); } catch (NoSuchBeanDefinitionException e) { // 忽略此异常 // log.error("mongo配置出错:{}", ExceptionUtils.getStackTrace(e)); } // Don't save _class to mongo mappingConverter.setTypeMapper(new DefaultMongoTypeMapper(null)); return mappingConverter; } }
9.3 或者修改配置
10.不要用字符串来存时间 字符串的时间无法进行正常的运算。正常的时间可以通过$year/$month/$day等运算符很方便地取出相应的部分,字符串的时间……
取出时间的格式 转换 :没有什么特别方便的办法,只能逐条更新成正确的格式
11.使用注解@JsonFormat 对时间格式进行转换处理
关于@JSONField和@JsonFormat的使用区别说明
@JsonFormat与@DateTimeFormat注解的使用
11.2 经测试 使用fastjson中的 @JSONFiled 实现了预期效果
import com.alibaba.fastjson.annotation.JSONField;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createdTime;
System.out.println(JSONObject.toJSON(mesPage)); // 需要json转一下 如果直接输入实体类时间显示还是有问题 Wed May 18 14:41:01 CST 2022
12.Monodb日期存储差8小时分析与解决,同时引出时间分析
13.代码时间是东八区,mongo库的时间是-8的标准时间。由于mongo做了自动转换,东八区 --存减8 -->标准时间<--读+8--东八区
15.使用@id id 自动生成_id ,修改无效的问题, 查询条件id 改成数据库中的字段_id
17.时间排序查询
18.模糊查询
19.1 springboot整合mongodb复杂查询和分页查询
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升