![](/img/trans.png)
[英]DynamoDB FilterExpression with multiple condition python and boto3
[英]DynamoDB FilterExpression with multiple condition javascript
我有一個帶有分區鍵和排序鍵的表,還有另外 2 個列。 我無法使用 javaScript AWS SDK 在 DynamoDB 中使用AND在多個條件下使用FilterExpression獲取項目。任何人都可以提供正確的代碼來檢索 FilterExpression 中具有多個條件的數據嗎? 我的代碼如下:
var params = {
TableName: 'Department',
KeyConditionExpression: '#company = :companyId'
, ExpressionAttributeNames: {
'#company': 'CompanyID',
'#dType': 'DepartmentType',
'#cTime': 'CreatedTime'
}
, ExpressionAttributeValues: {
':companyId': 'Test',
':deptType': dType,
':daysPrior': 1250456879634
},FilterExpression: '#dType = :deptType AND #ts > :daysPrior'
};
查詢中的格式存在拼寫錯誤(在CreatedTime
之后)為保持整潔,請使用雙引號或單引號,但不要同時使用兩者。 我使用了雙引號,就像 aws 示例代碼那樣。
var params = {
TableName: "Department",
KeyConditionExpression: "#company = :companyId",
ExpressionAttributeNames: {
"#company": "CompanyID",
"#dType": "DepartmentType",
"#cTime": "CreatedTime" //here
},
ExpressionAttributeValues: {
":companyId": "Test",
":deptType": dType,
":daysPrior": 1250456879634
},
FilterExpression: "#dType = :deptType AND #ts > :daysPrior"
};
如果您需要更復雜的過濾器表達式來掃描或查詢您的 DynamoDB 表,您可以使用方括號,例如:
var params = {
TableName: "Department",
...
FilterExpression: "(not (#type <> :type and #company = :company)) or (#timestamp > :timestamp)",
...
};
注意:此示例過濾器表達式沒有特定含義。
我的老板讓我做一個不能識別大寫或小寫的過濾器,然后去 HeLlo 搜索但找到相同的記錄。
{
data={
id=123123,
name="hello"}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.