1
のフィルタマップ:DynamoDBの - 私はこのようになりますDynamoDBのでコレクションをスキャンし、フィルタリングするnodejsを使用していますスキャンし、nodejs
{
"name": "teste123",
"id": "4bbe0f00-67c3-11e7-a6be-b9c9fc540ac2",
"clustermembers": [
{
"email": "[email protected]",
"role": "ADMIN",
"id": "4bbe0f00-67c3-11e7-a6be-b9c9fc540ac2"
}
]
}
次のコードPICEで:
var params = {
TableName : "mytable",
FilterExpression : "clustermembers.email = :p_email",
ExpressionAttributeValues : {
":p_email": {"S": req.params.usr_email}
}
};
var promiseQuery = client.scan(params).promise();
promiseQuery
.then(function(data) {
res.send({clusters: data.Items});
})
.catch(function(err) {
console.log('ERROR - get all clusters by user = ' + err);
res.status(500).send('ERROR - get all clusters by user = ' + err);
});
それは1つのレコードを返すはずですが、結果は得られません。ここで私は何が欠けているのですか?
ありがとうございました!
こんにちはnotionquest。まず、助けてくれてありがとう。このアプローチは機能しますが、このシナリオではすべての情報がありません。私はログインしたユーザーがその "クラスタ"へのアクセス権を持っているかどうかを確認しています。複数の "クラスタメンバー"があります。サブコレクション内の特定のメールを探す方法がないので、このデータを別のデータに移動する方が良いと思います。再度、助けをありがとう。 – Marrone