DynamoDB嵌套属性的SCAN

6

在给定的示例中,我可以通过'order.shortCode'扫描DynamoDB吗?控制台提示我不能使用点符号表示法,并且我找不到任何相关文档。

{    
  "key2": "cj11b1ygp0000jcgubpe5mso3",
  "order": {
    "amount": 74.22,
    "dateCreated": "2017-04-02T19:15:33-04:00",
    "orderNumber": "cj11b1ygp0000jcgubpe5mso3",
    "shortCode": "SJLLDE"
  },
  "skey2": "SJLLDE"
}
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
16

如果要按嵌套属性进行扫描,您应该使用ExpressionAttributeNames参数将每个路径组件(即order和shortCode)分别传递到FilterExpression中,如下所示:

var params = {
    TableName: 'YOUR_TABLE_NAME',
    FilterExpression: "#order.#shortCode = :shortCodeValue",
    ExpressionAttributeNames: {
        '#order': 'order',
        "#shortCode": "shortCode"
    },
    ExpressionAttributeValues: {
        ':shortCodeValue': 'SJLLDE'
    }
};

dynamodbDoc.scan(params, function(err, data) {
});

这里提供了解释文档的链接:

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ExpressionAttributeNames.html#Expressions.ExpressionAttributeNames.NestedAttributes


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,