Anche dopo un'approfondita ingegnerizzazione dei requisiti ci ritroviamo con utenti che vogliono allegare "note" ai loro record di dati altrimenti ben strutturati, in altre parole: coppie di valori-chiave arbitrari. Il loro principale interesse è trovare i record più tardi in base a questi metadati.
Esempio:
{
fixedattr1: 10,
fixedattr2: 11,
fixedattr3: 12,
foo: 'bar',
lol: 2
}
e
{
fixedattr1: 0,
fixedattr2: 1,
fixedattr3: 2,
baz: 'rofl'
}
potrebbero essere due di questi record. L'interesse principale è essere in grado di
- aggiungi al volo nuove coppie chiave-valore
- trova i record con determinate coppie di valori-chiave
Ovviamente questo non volerà con i database relazionali. Mongodb (ad esempio) può attribuire attributi dinamici (memorizzandoli nello stesso documento), e in generale lo stack MEAN potrebbe essere usato per costruire un'app web.
Accettiamo questa idea per un momento, quindi la domanda è: quale livello di supporto c'è in MEAN per indicizzare i documenti in base agli attributi dinamici? O c'è un'altra piattaforma tecnologica che gestisce questo?