2016-03-17 6 views
11

È possibile cercare proprietà nidificate dalla console AWS DynamoDB? Sono in grado di cercare su tutte le proprietà di primo livello, ma la ricerca su qualsiasi proprietà nidificata produce sempre un set di risultati vuoto.Non è possibile eseguire ricerche sulla proprietà nidificata nella console AWS DynamoDB

Ad esempio per il documento di seguito sono in grado di eseguire la scansione e aggiungere filtri su qualsiasi campo di livello superiore, come id, nome, ecc

Tuttavia non sono in grado di eseguire la scansione, e filtro su dispositivo. Sto cercando il filtro come dispositivo.nome = 'Xaomi'

{ id: 'jhfdgu75457y8r', nome: 'Parag', dispositivo: {nome: 'Xaomi', Paese: 'La Cina'}}

Si prega di notare che sto facendo questo dalla console AWS, e non qualsiasi libreria client. La console AWS consente i filtri sugli oggetti nidificati?

+1

Ho lo stesso problema. ---- Inoltre, ho convalidato nel codice (nodeJS) che è possibile filtrare su una proprietà nidificata. Questo può essere fatto usando ** FilterExpressions **. –

risposta

-1

Nel tipo filtro "dispositivo" e non dispositivo.nome e selezionare "contiene" anziché "=" nella discesa

0

Tutti i dati in DynamoDB è stored as either a string, binary or number.

Quando si utilizza un SDK per accedere a DynamoDB, in genere converte e non converte questi primati in tipi di dati complessi come elenchi e mappe.

La console funziona solo sui tipi di dati primari. In questo caso l'attributo del dispositivo viene considerato come una stringa e non è quindi possibile filtrare in base all'attributo nidificato device.name.

È tuttavia possibile eseguire semplicemente un filtro stringa. Ad esempio, filtro sull'attributo del dispositivo, utilizzando l'operatore contiene e il valore "name":"Xaomi"