1
GUIで作成され、電子メールのpartionキーが与えられ、それが文字列であるusersテーブルがあります。私はその後aws lambdaを使ってputItemを実行しました:BOOL値でAWS DynamoDBクエリがフィルタリングされない
email (string) [email protected]
deleted (BOOL) false
これはうまくいきました。私は、次のparams、クエリを使用してラムダでそれを照会しようとした:
var params =
{
TableName : 'Users',
KeyConditionExpression : 'email = :email',
FilterExpression : 'deleted = :deleted',
ExpressionAttributeValues :
{
':email' : email,
':deleted':
{
BOOL: false
}
}
};
docClient.query(params, function(err, data)
{
if (err) return fn(err);
else
{
console.log("GetItem succeeded:", JSON.stringify(data, null, 2));
}
});
私は、電子メール= [email protected]を検索し、削除したとして虚偽を離れるときにこれが常に0のアイテムを返します。私が削除されたフィルタ式を削除した場合、私はアイテムを返すので、なぜBOOL = falseが動作しないのでしょうか、それとも別のものを使うべきですか?
DynamoDBのサンプルデータを表示できますか?フィールドをBOOLデータ型で削除したかどうかは疑問です。 – notionquest
はい、あります。あなたはどのようなデータ型のdynamodb GUIをチェックインしますか? – cdub
guiのフィルタは、文字列、バイナリまたは数値のクエリのみを許可するように見えます。 – cdub