我正在阅读如何在这篇文章中对 DynamoDB 中的多对多关系进行建模:https ://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-adjacency-graphs.html
假设要求显示给定发票的所有账单列表。但是您需要显示每个账单的所有属性(图像中的红色圆圈)。
我可以查询 Invoice-92551 的所有账单,如下所示:
var params = {
TableName: "some-table",
KeyConditionExpression: "#pk = :pk",
ExpressionAttributeNames: {
"#pk":"pk",
},
ExpressionAttributeValues: {
":pk": "Invoice-92551"
},
ProjectionExpression: "pk, sk, isPaid, Amount, created...etc"
};
docClient.query(params, function(error, billsForGivenInvoice) {...});
好的,我现在有了账单,但我需要为每个账单提供更多属性。我可以执行以下操作:
var params = {
RequestItems: {
"some-table": {
Keys: ["Bill-4224663", "Bill-4224687"],
ProjectionExpression: "...other attributes needed..."
}
}
};
docClient.batchGet(params, function(error, bills) {});
是否可以一次查询两个结果?而不是首先调用 query() 和 batchGet()。