在 Spring Data MongoDB 中,@Document 注解用于将一个类标记为 MongoDB 中的一个文档(Document),以便通过该类进行数据访问。它具有以下三个常用属性:
-
value:用于指定集合名称,它默认为实体类名的小写字母形式。 例如,@Document(value = "my_collection") 可以将集合名称设置为 "my_collection"。
-
collection:也用于指定集合名称,它是 value 属性的别名。例如,@Document(collection = "my_collection") 和 @Document(value = "my_collection") 的作用是相同的。
-
collation:用于设置文档排序规则。可以使用它来指定用于对该集合中的文档进行排序和字符串比较的校对规则(collation)。例如,@Document(collation = "en_US") 可以将校对规则设置为 "en_US"。!mongdb4.4及以上版本
除了这些常用属性外,@Document 注解还有其他一些属性,如下所示:
-
language:用于设置全文搜索的默认语言。默认为英语("english")。
-
strict:指示是否启用 MongoDB 严格模式。默认为 false。
-
autoIndexCreation:指示是否自动创建索引。默认为 true。
-
shardKey:用于设置分片键(shard key),以支持 MongoDB 的分片功能。
-
timeToLive:用于设置文档的生存时间(TTL)(单位为秒)。
-
useGeneratedName:指示是否使用自动生成的名称。如果设置为 true,则会在集合名称后面添加一个随机字符串来避免重复。
@Field(“person_name”): 指定属性名和数据库域的映射关系 默认属性名小写,多个字母则为驼峰
今天注解属性名collection写成了collation,导致使用mongodbTemplate的方法传入collectionName就找不到集合。特此记录!