MongoDB不带索引的唯一非空字段

MongoDB不带索引的唯一非空字段,mongodb,indexing,unique,sparse-matrix,Mongodb,Indexing,Unique,Sparse Matrix,我的文档中有几个字段,如果它们存储非空值,我想确保它们在整个集合中是唯一的,但我永远不需要查询它们-例如,文件的md5哈希。就我在MongoDB文档中查看的情况而言,对于这种情况,建议使用唯一且稀疏的索引。我的问题是:鉴于我永远不会查询任何文档的md5字段,有没有办法避免创建索引?因为您不会查询这些字段,所以很难说 您可以使用query magic,但是您可能没有可用的值,否则您唯一的选择就是强制执行此客户端,它可能会创建竞争条件。如果不创建索引,就无法保证唯一性,因为MongoDB不提供任何强

我的文档中有几个字段,如果它们存储非空值,我想确保它们在整个集合中是唯一的,但我永远不需要查询它们-例如,文件的md5哈希。就我在MongoDB文档中查看的情况而言,对于这种情况,建议使用唯一且稀疏的索引。我的问题是:鉴于我永远不会查询任何文档的md5字段,有没有办法避免创建索引?

因为您不会查询这些字段,所以很难说


您可以使用query magic,但是您可能没有可用的值,否则您唯一的选择就是强制执行此客户端,它可能会创建竞争条件。

如果不创建索引,就无法保证唯一性,因为MongoDB不提供任何强制约束的机制