首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Spring Boot和MongoRepository findById(...)是否将我的整数键设置为0?

Spring Boot是一个用于创建独立的、基于Spring框架的Java应用程序的开发框架。它简化了Spring应用程序的配置和部署过程,并提供了一系列开箱即用的功能和插件,使开发人员能够快速构建高效、可扩展的应用程序。

MongoRepository是Spring Data MongoDB提供的一个接口,用于简化与MongoDB数据库的交互。它提供了一组CRUD操作方法,包括findById(...)用于根据指定的主键查找文档。

在MongoDB中,文档的主键是一个特殊的字段,通常称为"_id"。如果没有显式指定主键值,MongoDB会自动生成一个唯一的主键值。对于整数类型的主键,默认情况下,MongoDB会将其设置为0。

这种行为是由MongoDB的自动生成主键策略决定的。当我们使用MongoRepository的findById(...)方法根据整数主键查找文档时,如果没有指定主键值,MongoDB会将其默认设置为0。这是MongoDB的默认行为,与Spring Boot和MongoRepository无关。

如果您希望将整数主键设置为其他值,可以在保存文档时显式指定主键值,或者使用其他自定义的主键生成策略。

总结起来,Spring Boot和MongoRepository并没有将您的整数键设置为0,而是MongoDB在没有显式指定主键值时的默认行为。如果您希望设置其他值作为主键,可以通过显式指定主键值或使用自定义的主键生成策略来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MongoDB

文档中值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入文档)。 MongoDB 区分类型大小写。 MongoDB 文档不能有重复。 文档是字符串。...除了少数例外情况,可以使用任意 UTF-8 字符。 文档命名规范: 不能含有\0 (空字符)。这个字符用来表示结尾。 .$有特别的意义,只有在特定环境下才能使用。...Min/Max keys 将一个值与 BSON(二进制 JSON)元素最低值最高值相对比。 Arrays 用于将数组或列表或多个值存储一个。 Timestamp 时间戳。...,并使用 1 -1 来指定排序方式,其中 1 升序排列,而 -1 是用于降序排列。...> db.User.createIndex({"name":1}) 语法中 name 值你要创建索引字段,1 指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可 五、Spring boot

4.6K20

让 MongoDB CRUD 有 JPA 味道

> org.springframework.boot spring-boot-starter-data-mongodb</artifactId...那就是 Spring Data Jpa 继承关系图与之类似,将 MongoRepository 改为 JpaRepository 来观察继承关系图,如下所示。...4.通过 id 查询指定文档 通常,我们在查询指定某条数据时会通过 id 进行查询,在添加数据时,可以看到 MongoDB 我们自动生成了 id,名为 _id,只要通过 MongoRepository... findById 方法(MongoTemplate 也有 findById 方法),并传入相应 id 值即可查询指定文档,代码如下: /** * id查询 */ @Test void findById...接着来查看我们数据是否被更新,如下图所示。 在更新字段时,更新哪个字段则对那个字段进行设置即可。

1.8K50

芋道 Spring Boot MongoDB 入门

> { } 继承 org.springframework.data.mongodb.repository.MongoRepository 接口,第一个泛型设置对应实体是 UserDO ,第二个泛型设置对应主键类型是...因为实现了 MongoRepository 接口,Spring Data MongoDB 会自动生成对应 CRUD 等等代码。? 是不是很方便。 MongoRepository 类图如下: ?...艿艿:如果胖友看过艿艿写 《芋道 Spring Boot JPA 入门》 文章,会发现 Spring Data JPA 使用方式,基本一致。...具体,胖友可以自己跑跑,妥妥。 3. 基于方法名查询 示例代码对应仓库:lab-16-spring-data-mongodb 。 在 《芋道 Spring Boot JPA 入门》 文章「4....例如说: Spring Data JPA JpaRepository 接口。 Spring Data MongoDB MongoRepository 接口。

2.5K10

第五十一章:基于SpringBoot2 & MongoDB完成自动化集成本章目标你推荐企业级核心技术学习专题准备MongDB构建项目测试总结

你推荐 第四十七章:SpringBoot2.0新特性 - Quartz自动化配置集成 第四十八章:SpringBoot2.0新特性 - RabbitMQ信任package设置 第四十九章:SpringBoot2.0...> 根据mongodb依赖我们可以看到Spring家族式设计,把所有操作数据依赖都进行归类到spring-boot-starter-data-xxx下,我们比较常用到的如:spring-boot-starter-data-jpa...MongoRepository spring-boot-starter-data-mongodb确实采用了跟spring-boot-starter-data-jpa同样方式来完成接口代理类生成,并且提供了一些常用单个对象操作公共方法...password: 123456 在上面配置uri内test即为数据库名称,username配置我们自定义用户名称,password配置自定义用户设置密码。...上面我们代码已经全部编写完成,接下来我们需要进行测试,来查看我们CustomerRepository是否已经生效.

1.1K30

Spring Boot 2.x基础教程:使用MongoDB

过了年,重申一下这个系列目标:目前主要任务就是把Spring Boot 1.x部分没有升级内容做完升级。...如果是您是Spring Boot使用者,那么一定要关注一下!后面的内容会越来越精彩! 下面回归今天主题,如何在Spring Boot中使用MongoDB!...MongoDB简介 MongoDB是一个基于分布式文件存储数据库,它是一个介于关系数据库非关系数据库之间产品,其主要目标是在/值存储方式(提供了高性能高度伸缩性)传统RDBMS系统(具有丰富功能...://name:pass@localhost:27017/test 在尝试此配置时,记得在mongo中对test库创建具备读写权限用户(用户名为name,密码pass),不同版本用户创建语句不同...就笔者所接触很多以往使用场景也都开始在使用ES来取代,以获得更好性能表现。所以,接下来我们会讲讲Spring Boot中如何使用ES,关注我,持续获得更多Spring Boot技术干货!

1.7K40

SpringBoot学习笔记(十一:使用MongoDB存储文件 )

1.1、添加依赖 spring-boot-starter-data-mongodb:用来操作MongoDB spring-boot-starter-thymeleaf:前端页面采用thymeleaf模板...对html元素格式要求严格,设置modeHTML,忘记结束标签后不会报错 spring.thymeleaf.mode=HTML # 编码 spring.http.encoding.charset...方式操作MongoDB,只需在接口里继承MongoRepository,就可以调用MongoRepository内置方法。...2、MongoDB存储大文件 Spring Data MongoDB提供了GridFsOperations接口以及相应实现GridFsTemplate,可以GridFs交互。...文件存储服务器 【13】:MongoDB文件服务器搭建 【14】:基于 MongoDB 及 Spring Boot 文件服务器实现 【15】:SpringBoot中使用GridFS 【16】

3.3K41

Spring Boot 与 Kotlin 使用MongoDB数据库

MongoDB简介 MongoDB是一个基于分布式文件存储数据库,它是一个介于关系数据库非关系数据库之间产品,其主要目标是在/值存储方式(提供了高性能高度伸缩性)传统RDBMS系统(具有丰富功能...但是,MongoDB也不是万能,同MySQL等关系型数据库相比,它们在针对不同数据类型事务要求上都存在自己独特优势。...引入依赖 Spring Boot中可以通过在pom.xml中加入spring-boot-starter-data-mongodb引入对mongodb访问支持依赖。...:spring-boot-gradle-plugin:$spring_boot_version") // Kotlin整合SpringBoot默认无参构造函数,默认把所有的类设置open...= 0) 实现User数据访问对象:UserRepository import name.quanke.kotlin.chaper11_6_4.entity.User import org.springframework.data.mongodb.repository.MongoRepository

1.6K50
领券