qidao123.com技术社区-IT企服评测·应用市场

标题: MongoDB 集合名称映射问题 [打印本页]

作者: 刘俊凯    时间: 2025-4-26 21:19
标题: MongoDB 集合名称映射问题
项目场景

在使用 Spring Data MongoDB 举行开发时,界说了一个名为 CompetitionSignUpLog 的实体类,并创建了对应的 Repository 接口。必要明确该实体类在 MongoDB 中实际对应的集合名称是 CompetitionSignUpLog 还是 competitionSignUpLog。
问题描述

不确定 MongoDB 中主动天生的集合名称是基于实体类名称的哪种大小写形式:

这会影响直接通过 MongoDB shell 或其他客户端工具查询数据时的集合名称使用。
原因分析

Spring Data MongoDB 默认的集合名称天生规则如下:
对于 CompetitionSignUpLog 类:

办理方案

方案1:查察实际集合名称

直接连接到 MongoDB 数据库,查察主动天生的集合名称:
  1. use your_database_name;
  2. show collections;
复制代码
方案2:显式指定集合名称

在实体类上添加 @Document 注解明确指定集合名称:
  1. import org.springframework.data.mongodb.core.mapping.Document;
  2. @Document(collection = "competitionSignUpLog") // 明确指定集合名称
  3. public class CompetitionSignUpLog {
  4.     // ... 类定义
  5. }
复制代码
最佳实践发起

   保举使用 @Document 显式指定集合名称,避免依靠默认规则
  保持命名同等性:
  Java 类名:CompetitionSignUpLog(首字母大写)
  集合名称:competitionSignUpLog(首字母小写)
  在 Repository 中无需关心实际集合名称,Spring Data 会主动处置惩罚映射关系

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4