我正在尝试使用Morphia与MongoDB进行接口,而我的Morphia实体如下所示:
@Entity(some params about storing the entity)
public class Entity implements Serializable {
<Some other fields here>
@Indexed(options =
@IndexOptions(unique = true, sparse = true)
)
private String field;
<Some other fields here>
}
我希望此字段在存在时是唯一的,但不是必需的(在不存在时,则不是唯一的;多个条目应能够排除此字段)。我对如何执行此操作的理解是,我尝试设置一个唯一的稀疏索引。
我遇到的问题是,当我在Studio3T中检查索引配置时,似乎我的索引被创建为唯一索引,但未应用稀疏属性。
我在做什么错了?
谢谢。
编辑:经过进一步研究,这似乎是Microsoft Azure CosmosDB的问题。当我在本地运行此代码时,它可以正常工作,但不能在Azure CosmosDB上正确创建稀疏索引。相应地更新标签。