最近我们已经从Morphia 0.99升级到1.2.x,MongoDB升级到3.2。
之后,我们在使用具有复合键索引的集合对象时看到了很多WARNING消息。
示例警告如下:
警告:'RowData'上的这个索引是 使用不推荐的配置选项。请更新以使用 @Index上的字段值: @ org.mongodb.morphia.annotations.Index(unique = false,dropDups = false, name =,background = false,expireAfterSeconds = -1,value = resultSetId, rowSequence,disableValidation = false,sparse = false,fields = [], options=@org.mongodb.morphia.annotations.IndexOptions(独特=假, dropDups = false,name =,background = false,expireAfterSeconds = -1, disableValidation = false,language =,languageOverride =,sparse = false))
Object上的索引标记如下:
@Entity(noClassnameStored = true)
@Indexes({@Index("resultSetId, rowSequence")})
public class RowData implements Transportable { ... }
有没有办法抑制警告信息?
答案 0 :(得分:1)
无需取消警告,它会告诉您正在使用的配置不会很快得到支持。
试试这个
@Indexes({
@Index(fields = {@Field(value = "resultSetId"), @Field("rowSequence")})
})
关于IndexOptions的注意事项:
如果从较旧的Index语法迁移到最新版本,则要么完全保留IndexOptions部分(如上所述),要么确保在更改之前在集合中设置相同的选项。否则,您将获得与IndexOptions相关的异常。