当前位置: 首页 > news >正文

MongoDb常用代码及配置

MongoDb常用的语句:

详情见: https://blog.csdn.net/sinat_32502451/article/details/134342559

MongoDb建表:

MongoDB不需要建表,直接插入数据就会建表。
日期用 ISODate() 转换。

db.getCollection("mongoDbTest").insert({userId:"dxcefg", status:1,  price:1.23, updateTime : ISODate("2022-02-13T07:06:25.371Z")})

添加 maven 依赖:

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

添加 application.yml 配置

#数据库配置
spring:data:mongodb:# uri格式为:mongodb://用户名:密码@IP地址:端口/数据库uri: mongodb://xx:xxx@xx.xx.xx.xx:xx/xx#mongodb打印日志
logging:level:org.springframework.data.mongodb.core.MongoTemplate: DEBUG

如果使用 properties文件,则是:

spring.data.mongodb.uri=mongodb://xx:xxx@xx.xx.xx.xx:xx/xx
#mongodb打印日志
logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG

数据表对应的Bean:

@Document 指定表名。

@Data
@Document(collection = "mongoDbTest")
public class MongoDbTest {private String userId;private int status;private BigDecimal price;private Date updateTime;//忽略 getter()、setter()
}

查询

@Service
public class MongoDbService {@Resourceprivate MongoTemplate mongoTemplate;public void testMongoDb() {Criteria criteria = new Criteria();Query query = new Query();criteria.and("status").is(1);query.addCriteria(criteria);//排序List<Sort.Order> orders = new ArrayList<Sort.Order>();orders.add(new Sort.Order(Sort.Direction.DESC, "updateTime"));query.with(Sort.by(orders));query.limit(1000);//查询List<MongoDbTest> list = mongoTemplate.find(query, MongoDbTest.class);System.out.println("MongoDbTest list:" + JSON.toJSONString(list));}
}

插入

    public void testMongoDbInsert() {MongoDbTest mongoDbTest = new MongoDbTest();mongoDbTest.setUserId("081914");mongoDbTest.setPrice(BigDecimal.TEN);mongoDbTest.setStatus(2);mongoDbTest.setUpdateTime(new Date());//表名String collectionName = "mongoDbTest";//插入mongoTemplate.insert(mongoDbTest, collectionName);}

更新/修改

    public void testMongoDbUpdate() {//要更新的数据Update update = Update.update("status", 789);//查询条件Query query = new Query();query.addCriteria(Criteria.where("userId").is("abc"));//表名String collectionName = "mongoDbTest";//更新符合条件的所有数据mongoTemplate.updateMulti(query, update, collectionName);//只更新一条数据
//        mongoTemplate.updateFirst(query, update, collectionName);}

删除

    public void testMongoDbDelete() {//查询条件Query query = new Query();query.addCriteria(Criteria.where("userId").is("abcdefg"));//表名String collectionName = "mongoDbTest";//删除mongoTemplate.remove(query, collectionName);}

http://www.mrgr.cn/news/1413.html

相关文章:

  • QAbstractTableModel选中单元格就会触发setdata()
  • 算法学习017 不同的二叉搜索树 c++算法学习 中小学算法思维学习 比赛算法题解 信奥算法解析
  • 数字(智)化采购系统优点_亮点_应用场景
  • 数学中常用的解题方法
  • Springboot功能模块之EasyExcel
  • EmguCV学习笔记 VB.Net 4.5 像素距离和连通区域
  • 机械学习—零基础学习日志(如何理解概率论2)
  • 加速网页加载,提升用户体验:HTML、JS 和 Vue 项目优化全攻略
  • CSS的:first-of-type伪类:精确定位特定类型的首子元素
  • Spring源码解析(34)之Spring事务回滚流程
  • c语言基础知识学习
  • 定时执行系统及容器日志清理
  • Zookeeper详解以及常见的高可用关联组件
  • mysqlA表连接B表,并取B表中更新时间最新
  • php连接sphinx的长连接事宜以及sphinx的排除查询以及关于sphinx里使用SetSelect进行复杂的条件过滤或复杂查询
  • Qt —— 创建 hello world
  • HexView 刷写文件脚本处理工具-命令行介绍(四)-地址范围缩减(/AR:‘range‘)
  • Spring Boot 应用案例:打造股票价格自动通知平台
  • 【机器学习】CNN的数学基础
  • 物联网(IoT)详解