Ich habe eine Tabelle in DynamoDB wobei jede Zeile hat die folgende Struktur abfragen:Wie kann ich DynamoDB und das Rück alle untergeordneten Werte für einen bestimmten Schlüssel in einem Array
{
"id": 1,
"data": [
{
"key": "A",
"value": "a"
},
{
"key": "B",
"value": "b"
}
]
},
...
Ich möchte eine Abfrage erstellen, die zurückgibt eine einzelne Datenzeile, bei der die "Wert" -Schlüssel aus den Ergebnissen herausgefiltert wurden. Im Wesentlichen habe ich nach einem Weg suchen diese Ausgabe zu erzeugen:
{
"id": 1,
"data": [
{
"key": "A"
},
{
"key": "B"
}
]
}
Der Trick besteht darin, dass die „Daten“ -Liste eine unbekannte Anzahl von Elementen enthält. Verwendung des folgenden Codes mit Projektions-Ausdrücke, kann ich nahe, was ich in NodeJS brauchen:
var AWS = require('aws-sdk');
var docClient = new AWS.DynamoDB.DocumentClient();
var params = {
TableName: "MyTable",
Key: {
"id": 1
},
ProjectionExpression:"id, data[0].key"
};
docClient.get(params, function(err, data) {
if (err)
console.log(JSON.stringify(err, null, 2));
else
console.log(JSON.stringify(data, null, 2));
});
Der obige Code gibt die folgende Daten:
{
"id": 1,
"data": [
{
"key": "A"
}
]
}
Wie kann ich DynamoDB alle zurückkehren bekommen die Schlüssel innerhalb data
und nicht nur einer?