当涉及索引字段时,Spring数据和MongoDB存在很多问题。我已经阅读了文档,但他们并不擅长解释@Indexed(unique = true)和@Indexed(unique = false)之间的区别。我有一个我想索引的字段,所以我可以对它执行快速查询。在这种情况下,它是通常应该是唯一的电子邮件地址,但emailAddress可能在一段时间内为空。但是,一旦一个记录为空电子邮件地址,我不能有任何其他记录与空电子邮件地址。 Spring Data拒绝使用null emailAddresses插入任何其他记录。它没有抛出任何不起作用的东西。现在我已将它设置为unique = true,但我正在考虑将其设置为unique = false来解决此问题。这会解决问题吗?还有什么其他问题可以通过放松来补充? MongoDB是否允许我有多个相同的邮件地址,并且在查询时仍然很快?春季数据MongoDB索引(唯一= true)
3
A
回答
6
从MongoDB的文档: http://docs.mongodb.org/manual/core/indexes/#unique-indexes
所以,如果你有一个独特的关键,千万不要将其设置为null。老实说,在你的用例(电子邮件字段)中,我相信你不需要使用唯一键,你可以使用稀疏键,所以,没有电子邮件的文档不会占用你的btree索引,这将节省您的空间,并提高查找速度。
相关问题
- 1. 春季数据neo4j索引搜索
- 2. 春数据的MongoDB - 嵌入与@Indexed文档(唯一= TRUE)
- 3. MongoDB:插入唯一索引
- 4. 等效MongoDB中查找({})春季数据
- 5. 问题在春季数据(MongoDB的)
- 6. 如何引用GridFSFile与@DbRef注释(春季数据的MongoDB)
- 7. 春季数据REST MongoDB:检索DBRef对象而不是href
- 8. MongoDB唯一索引不起作用
- 9. MongoDB唯一索引不起作用
- 10. MongoDB的可选唯一索引
- 11. Mongoose/mongoDB删除唯一索引约束
- 12. django-nonrel mongodb中User.username的唯一索引?
- 13. mongoDB:重复值的唯一索引
- 14. 春数据的Neo4j - repository.save和@Indexed(唯一= TRUE)
- 15. 唯一索引与非唯一索引
- 16. NoSQLUnit MongoDB的测试:春季数据MongoDB的方法
- 17. 如何使用Spring MongoDB的数据和春季云一起
- 18. 春天JPA @JoinColumn(唯一= TRUE)不工作
- 19. 春季启动:用MongoDB的
- 20. mongodb的春季Roo Finder
- 21. MongoDB在春季web项目
- 22. 服务索引页与春季启动
- 23. 春季索引超出限制MVC
- 24. 春季启动索引错误路由
- 25. 春季数据JPA其余
- 26. MongoDB的 - 唯一索引VS复合索引
- 27. 从数据列创建唯一索引
- 28. 春季分页数据
- 29. Oracle数据库,将唯一索引转换为非唯一索引
- 30. 春数据MongoDB的索引查询的子文件