首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微头条
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
数据库
›
分布式数据库
›
MongoDB 集合名称映射问题
返回列表
发新帖
MongoDB 集合名称映射问题
[复制链接]
发表于 2025-4-26 21:19:02
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
项目场景
在使用 Spring Data MongoDB 举行开发时,界说了一个名为 CompetitionSignUpLog 的实体类,并创建了对应的 Repository 接口。必要明确该实体类在 MongoDB 中实际对应的集合名称是 CompetitionSignUpLog 还是 competitionSignUpLog。
问题描述
不确定 MongoDB 中主动天生的集合名称是基于实体类名称的哪种大小写形式:
CompetitionSignUpLog(首字母大写)
competitionSignUpLog(首字母小写)
这会影响直接通过 MongoDB shell 或其他客户端工具查询数据时的集合名称使用。
原因分析
Spring Data MongoDB 默认的集合名称天生规则如下:
通例情况
:将类名的第一个字母转换为小写
例如:CompetitionSignUpLog → competitionSignUpLog
特殊情况
:如果类名的前两个字母都是大写,则保持原样
例如:COMPETITIONSignUpLog → COMPETITIONSignUpLog
对于 CompetitionSignUpLog 类:
首字母 C 是大写,第二个字母 o 是小写
因此会应用通例规则,转换为首字母小写形式 competitionSignUpLog
办理方案
方案1:查察实际集合名称
直接连接到 MongoDB
数据库
,查察主动天生的集合名称:
use your_database_name;
show collections;
复制
代码
方案2:显式指定集合名称
在实体类上添加 @Document 注解明确指定集合名称:
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "competitionSignUpLog") // 明确指定集合名称
public class CompetitionSignUpLog {
// ... 类定义
}
复制
代码
最佳实践发起
保举使用 @Document 显式指定集合名称,避免依靠默认规则
保持命名同等性:
Java 类名:CompetitionSignUpLog(首字母大写)
集合名称:competitionSignUpLog(首字母小写)
在 Repository 中无需关心实际集合名称,Spring Data 会主动处置惩罚映射关系
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
使用道具
举报
返回列表
刘俊凯
+ 我要发帖
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表