springboot操作mongodb

1.连接mongodb

引入maven包

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

配置文件加入mongodb的uri

spring.data.mongodb.uri=mongodb://用户名:密码@ip:port/数据库名?maxPoolSize=1000&replicaSet=rs0

2.使用Aggregation编写复杂的语句

// 条件类
Criteria criteria = new Criteria();
// 使用and进行条件关联
criteria.andOperator(
                new Criteria(FormCol.PREFIX + FormCol.WORKSHOP_ZONE_MATERIAL_TYPE_COL).regex(type));

// 对语句进行整合
Aggregation agg = Aggregation.newAggregation(
		// 匹配所有条件
        Aggregation.match(criteria),
        // 根据字段进行分组
        Aggregation.group(FormCol.PREFIX + FormCol.WORKSHOP_ZONE_MATERIAL_CODE,
                FormCol.PREFIX + FormCol.WORKSHOP_ZONE_MATERIAL_NAME)
                // 根据字段求和
                .sum(FormCol.PREFIX + FormCol.WORKSHOP_ZONE_WEIGHT)
                // 求和出来的别名
                .as("num")

);
// 获取语句执行后的结果
AggregationResults<JSONObject> countRes = mongoTemplate.aggregate(agg, Form.FORM_ID_COLLECTION_NAME, JSONObject.class);


mongodb复杂语句建议使用Aggregation进行语句的编写,可以实现分页,分组,求和等大部分复杂的语句。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot操作MongoDB有两种方式。第一种是使用类似JPA的方式,通过引入"spring-boot-starter-data-mongodb"依赖,定义Model对象和Repository接口来进行操作。这种方式可以使用MongoDBRepository接口来自定义方法,类似于Spring Data JPA的操作方式。 第二种方式是使用MongoDBOperation类提供的接口来进行操作。这种方式实现了增删改查、分页、批量插入、批量更新等操作。 无论是哪种方式,你需要在初始化项目时引入"spring-boot-starter-data-mongodb"依赖,并根据具体需求选择合适的方式进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [在Spring-boot操作MongoDB](https://blog.csdn.net/qiaotl/article/details/129008421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [SpringBootMongoDB的使用](https://blog.csdn.net/qq_30614345/article/details/131994743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [springboot-mongodb](https://download.csdn.net/download/haiyang638/9775011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值