當涉及索引字段時,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的索引查詢的子文件