Как сравнить атрибут со значением в нижнем регистре в таблице DynamodB -> Item -> атрибут во время выполнения запроса - PullRequest
0 голосов
/ 31 октября 2018

Я хочу искать текстовую строку в атрибуте, как мы делаем в mysql LOWER (fieldName) = LIKE% strtolower (search_text)%. Я сделал несколько действий, но не нашел никакого решения.

{
    "TableName": "DEV_postTbl",
    "ProjectionExpression": "postId, postType, postStatus",
    "ScanIndexForward": false,
    "Limit": 6,
    "KeyConditionExpression": "postStatus =:postStatusPublished",
    "IndexName": "postStatus-createdOn-index",
    "FilterExpression": " (  contains( postTitle, :searchText)  OR  contains(postDescription, :searchText) OR contains(postLocation.addressLine, :searchText) ) ",
    "ExpressionAttributeValues": {
        ":searchText": "hello",
        ":postStatusPublished": "published"
    }
}

Это мой код ... но этот поиск только "привет" вместо "Привет", "heLLO", как это

1 Ответ

0 голосов
/ 31 октября 2018

DynamoDB чувствителен к регистру. Если ваши данные нечувствительны к регистру, одно из решений состоит в том, чтобы данные в нижнем или верхнем регистре перед сохранением их в DynamoDB. Тогда вы можете обойти это, запрашивая все строчные или прописные.

Пример:

Магазин postTitle с нижними элементами.

При поиске просто уменьшите значение :searchTex (str.toLowerCase ()), а затем выполните запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...