Qual è lo schema accettato per la gestione delle relazioni molti-a-molti nella progettazione di un database di documenti?Nosql many-to-many
risposta
Come si desidera modellare il molti a molti dipenderà dal tipo di query che si desidera chiedere, come si desidera aggiornare i dati, ecc ... Supponiamo di avere foos correlati a barre in molti a molte moda
Si potrebbe modellare un foo come
{
'bars': ['bar1', 'bar2', 'bar3']
}
e modellare un bar
{
'foos': ['foo_x', 'foo_y', 'foo_z']
}
Oppure si potrebbe modellare il grafico o le relazioni tra i foo e bar come singoli documenti stessi
{
from: 'foo1',
to: 'bar1'
}
{
from: 'foo1',
to: 'bar2'
}
{
from: 'foo2',
to: 'bar3
}
{
from 'foo3',
to: 'bar3'
}
Ci sono molti altri modi. Come vuoi farlo dipenderà dalle domande che vuoi porre, dalle operazioni che vuoi supportare, da ciò che vuoi essere efficiente e dall'indicizzazione disponibile nel database.
Supponendo che stiamo parlando di casi in cui una relazione è realmente necessaria piuttosto che quelli che esistono solo perché SQL gestisce le relazioni meglio di oggetti complessi, il design è simile a quello standard per SQL - due relazioni uno a molti.
La differenza chiave è che si dispone di campi multivalore, quindi anziché un terzo documento/tabella che registra connessioni singole come una coppia di id, si dispone di un elenco di ID in ciascun documento.
Se ci si imbatte in casi in cui l'elenco diventa troppo lungo, è probabile che si guardi qualcosa che sarebbe meglio gestito dall'indicizzazione di ricerca di una relazione.
- 1. Hibernate @ManyToMany delete relation
- 2. JPQL ManyToMany select
- 3. Ebean ManyToMany query
- 4. django manytomany validation
- 5. Doctrine2 ManyToMany Self referencing
- 6. @ManyToMany (mappedBy = "foo")
- 7. filtro Django ManyToMany()
- 8. NoSQL e dati meteorologici
- 9. Database Elasticsearch e NoSql
- 10. Quando NON usare NoSQL?
- 11. Delphi e NoSQL
- 12. NoSql Crash Course/Tutorial
- 13. NoSQL con funzioni analitiche
- 14. nosql db per python
- 15. Database Clojure e NoSQL
- 16. HQL: Hibernate query with ManyToMany
- 17. Django ManyToMany validazione del modello
- 18. Django manytomany in template template
- 19. Primavera dati JPA: interrogazione ManyToMany
- 20. @ManyToMany in un MappedSuperclass astratto
- 21. Symfony2 QueryBuilder orderby conteggio ManyToMany
- 22. Database leggero (SQL o NoSQL)
- 23. NoSQL con Entity Framework Core
- 24. database NoSQL basato su file?
- 25. Operazione di join con NOSQL
- 26. SQL (MySQL) vs NoSQL (CouchDB)
- 27. Iniezioni SQL con database noSQL?
- 28. base NoSQL disegno documento domanda
- 29. Node.JS con NoSQL o SQL?
- 30. Filtra ManyToMany box in Django Admin
lui parla di documentazione –
no, questo è un "documento di database". Un "database di documenti" è qualcosa come http://www.mongodb.org/ –