Architettura esistente: server nodejs con backend mongodb.
Ho delle stringhe che arrivano descrivendo immagini che possono contenere #hashtag in esse.
Desidero estrarre gli hashtag dalle stringhe, archiviare gli hashtag e associare l'immagine con quell'hashtag.
Quindi ad es. un'immagine viene caricata con "divertendosi su #bandcamp #nyc"
#bandcamp
e #nyc
vengono estratti.
-
Se non esistono già come hashtag, vengono creati e l'immagine è associata a entrambi.
-
Se esistono, viene riconosciuto e l'immagine è associata a entrambi.
Quindi sarà possibile creare una query di ricerca di mongo che recuperi tutte le immagini per un hashtag o più hashtag.
Sono nuovo di nosql, capisco che in relazionale avrei:
- hashtag della tabella
- immagini tabella
- tabella imageshashtags
con una relazione molti a molti. Un'immagine può avere molti tag hash e un hashtag può avere molte immagini.
Che tipo di approccio è adatto a mongo? Dalla lettura di q & a in questo modo: link
Vedo che posso implementare un documento secondario nel documento immagine con i tag. È efficiente per la ricerca e il recupero?
Potrei quindi utilizzare link - ridimensionare la mappa?
Quindi finisci con:
raccolta di immagini con tag sottodocumento tag collection
- documento di immagini con tag documento secondario con tag estratti e aggiunti ad esso quando l'immagine viene creata e nuovo tag aggiunto alla raccolta se non è già presente (cioè i tag devono essere univoci)
crea anche il tag nella raccolta di tag ed esegui il map reduction.
Questo suono? Sto capendo le cose correttamente ed è il mio approccio ragionevole?