J'ai beaucoup de problèmes avec Spring Data et MongoDB quand il s'agit d'un champ indexé. J'ai parcouru les docs, mais ils ne sont pas très bons pour expliquer la différence entre @Indexed (unique = true) et @Indexed (unique = false). J'ai un champ que j'ai voulu indexé afin que je puisse exécuter des requêtes rapides contre lui. Dans ce cas, c'est l'adresse e-mail qui doit généralement être unique, mais il est possible que emailAddress soit nul pour une période. Cependant, une fois que vous enregistrez une adresse mail nulle, je ne peux pas avoir d'autres enregistrements avec une adresse mail nulle. Spring Data refuse d'insérer des enregistrements supplémentaires avec des adresses email nulles. Et il ne parvient pas à jeter quelque chose qui n'a pas fonctionné. En ce moment, je l'ai mis à unique = true, mais je suis en train de le mettre à unique = false pour contourner ce problème. Cela va-t-il résoudre le problème? Et quels autres problèmes pourrais-je ajouter en relaxant cela? Est-ce que MongoDB me permettra d'avoir plusieurs adresses e-mail qui sont égales et qui restent rapides à interroger?Spring Data MongoDB Indexed (unique = true)
3
A
Répondre
6
De MongoDB docs: http://docs.mongodb.org/manual/core/indexes/#unique-indexes
Donc, si vous avez une clé unique, ne définissez pas null.
Pour être honnête, dans votre cas d'utilisation (champ e-mail), je crois que vous n'avez pas besoin d'utiliser une clé unique, vous pouvez utiliser la clé clairsemée à la place, donc, les docs qui n'ont pas d'e-mail Btree index, qui va vous économiser de l'espace, et augmenter la vitesse de recherche.
Questions connexes
- 1. Authentification avec Spring Security + Spring data + MongoDB
- 2. Spring-data mongodb geo query
- 3. Spring Data MongoDB BigDecimal support
- 4. SOLR Différence entre indexed = true et stored = true
- 5. Comment utiliser MongoDB $ let avec Spring-Data?
- 6. Spring data MongoDB plusieurs bases de données
- 7. Spring Data MongoDB: conversion BigInteger en ObjectId
- 8. En utilisant Spring-Data et mongodb, id naturelle ou artificielle?
- 9. Spring Data, _id field mapping
- 10. Récupérer contenteditable = true data
- 11. Intégration de Maven, Spring Data, MongoDB et Apache Solr
- 12. Spring Data: Configuration Java pour MongoDB sans XML
- 13. Gestion des propriétés inconnues avec le pilote MongoDB Spring Data
- 14. Spring Data REST: requête personnalisée pour le référentiel MongoDB
- 15. Spring Data MongoDB empêche la persistance de certains champs
- 16. Les données Spring Data MongoDB sont-elles liées au thread?
- 17. Spring data Dates de gestion de Mongodb avec @Query
- 18. mongodb data design question
- 19. jqmobi data-refresh-ajax = "true"
- 20. Mongo Spring Data clé "étrangère"
- 21. cartographie personnalisée Spring MVC, MongoDB données Spring
- 22. Collections pour les paramètres @Query dans Spring-Data? Neo4j
- 23. MongoDB Data Modeling
- 24. Dynamic Data dans MongoDB
- 25. Indexed NSFetchedResultsController
- 26. Convertir l'index existant en unique (mongodb) en utilisant la morphine
- 27. NodeJS/MongoDB Valeur unique Vérifiez
- 28. Indexed vue utilisabilité
- 29. Transition vers Spring Data
- 30. Spring Data JPA filtering