如何在 Morphia Java 中制作索引和不同的唯一索引?
how to make indexes and different unique indexes in Morphia Java?
使用吗啡,mongoDB 和 JAVA 8,我试图在我的实体上创建一些索引,并且 一些其他唯一索引 在不同的特性。
假设我希望字段 "a" 和 "b" 成为常规索引 @Indexes({@Index(fields= {@Field("a"), @Field("b")})})
。
但是我如何使用 options = @IndexOptions(unique = true)
添加其他索引字段?
谢谢
你可以试试下面的方法。
@Indexes({@Index(fields= {@Field("a"), @Field("b")}), @Index(options= @IndexOptions(unique = true), fields= {@Field("c")})})
@Entity(collection_name)
public class IndexClass {
@Id
private Long id;
private String a;
private String b;
private String c;
// Getters and Setters
}
启动代码:
Morphia morphia = new Morphia();
morphia.map(IndexClass.class);
MongoClient client = new MongoClient();
Datastore datastore = morphia.createDatastore(client, db_name);
datastore.ensureIndexes();
使用吗啡,mongoDB 和 JAVA 8,我试图在我的实体上创建一些索引,并且 一些其他唯一索引 在不同的特性。
假设我希望字段 "a" 和 "b" 成为常规索引 @Indexes({@Index(fields= {@Field("a"), @Field("b")})})
。
但是我如何使用 options = @IndexOptions(unique = true)
添加其他索引字段?
谢谢
你可以试试下面的方法。
@Indexes({@Index(fields= {@Field("a"), @Field("b")}), @Index(options= @IndexOptions(unique = true), fields= {@Field("c")})})
@Entity(collection_name)
public class IndexClass {
@Id
private Long id;
private String a;
private String b;
private String c;
// Getters and Setters
}
启动代码:
Morphia morphia = new Morphia();
morphia.map(IndexClass.class);
MongoClient client = new MongoClient();
Datastore datastore = morphia.createDatastore(client, db_name);
datastore.ensureIndexes();