Jon*_*s B 7 mongodb spring-boot
我有以下几点:
@Document(collection = "linkmetadata")
public class LinkMetaData {
@Indexed(unique = true)
private String url;
...
}
Run Code Online (Sandbox Code Playgroud)
但是每当它创建集合时,它都不会为 url 字段创建任何索引,就像它只是忽略了注释。知道这是为什么吗?
编辑:插入数据时也不会创建索引。当我尝试为特定 url 获取数据时,如果我两次输入相同的 url,它会抛出一个错误,即 url 键不是唯一的,但它不关心插入唯一键,因为没有索引..
小智 25
auto-index-creation: true在您的应用程序属性中使用。在您的应用程序中添加波浪线。属性
spring.data.mongodb.auto-index-creation: true
Run Code Online (Sandbox Code Playgroud)
我发现了问题。我有另一个集合,其中的 url 字段也标记为 unqiue。我必须在其中一个上指定索引的名称,否则似乎认为该索引已经存在,即使它位于两个不同的集合上
@Indexed(name = "meta_url_index_unique", unique = true)
private String url;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6666 次 |
| 最近记录: |