Java Morphia未对我的索引应用稀疏选项
我正在尝试使用Morphia与MongoDB接口,我的Morphia实体如下所示:Java Morphia未对我的索引应用稀疏选项,java,mongodb,azure,azure-cosmosdb,morphia,Java,Mongodb,Azure,Azure Cosmosdb,Morphia,我正在尝试使用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)
@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>
}
@Entity(关于存储实体的一些参数)
公共类实体实现可序列化{
@索引(选项)=
@索引选项(唯一=真,稀疏=真)
)
私有字符串字段;
}
如果存在,我希望此字段是唯一的,但不是必需的(如果不存在,则不是唯一的;多个条目应该能够排除此字段)。我对如何做到这一点的理解是使用一个唯一的稀疏索引,正如我尝试设置的那样
我遇到的问题是,当我在Studio3T中检查索引配置时,我的索引似乎被创建为唯一的,但稀疏属性没有应用
我做错了什么
谢谢
编辑:进一步研究后,这似乎是Microsoft Azure CosmosDB的一个问题。当我在本地运行这段代码时,它可以正常工作,但它不能在Azure CosmosDB上正确创建稀疏索引。相应地更新标记。这实际上对我来说在master上是有效的,它本质上是1.3.2…@evanchooly过去几天我一直在做我项目的另一部分,没有机会测试它。显然,当我在我的机器上用MongoDB的本地实例运行这段代码时,它运行得很好;问题似乎是当我尝试将它连接到Microsoft Azure CosmosDB时。你能测试/验证这一点吗,还是这超出了Morphia的范围?如果CosmosDB上没有正确创建索引,那么它就远远超出了Morphia的范围。它在MongoDB、fwiw上工作。我从未使用过CosmoDB,所以在这个问题上我没有太多要说的。是的,我已经确认这似乎是CosmosDB的问题,并相应地更新了标签。谢谢你的帮助:)