2015-05-25 20 views
5

Sto provando a creare un indice su un campo nidificato, utilizzando la Dashboard nella Console di sviluppo AWS. Per esempio. se ho il seguente schema:Indicizzazione su campo nidificato

{ 'id': 1, 
    'nested': { 
    'mode': 'mode1', 
    'text': 'nice text' 
    } 
} 

sono stato in grado di creare l'indice nested.mode, ma ogni volta che poi vai a interrogare per indice, nulla mai ritorna. Mi fa pensare che DynamoDB abbia creato l'indice su un nome di campo nested.mode invece del campo mode di nested. Qualsiasi suggerimento cosa potrei fare di sbagliato?

risposta

11

Non è possibile (al momento) creare un indice secondario da un attributo nidificato. Dal Improving Data Access with Secondary Indexes in DynamoDB documentation (sottolineatura mia):

Per ogni indice secondario, è necessario specificare quanto segue:

...

  • Lo schema fondamentale per l'indice. Ogni attributo nello schema della chiave dell'indice deve essere un attributo di livello superiore di tipo String, Number o Binary. Non sono consentiti attributi nidificati e insiemi multivalore. Altri requisiti per lo schema chiave dipendono dal tipo di indice:

È possibile, tuttavia, create an index on any top level JSON element.

Problemi correlati