当前位置: 首页 > 知识库问答 >
问题:

如何在AWS DynamoDb js SDK中使用begins_with?

子车俊哲
2023-03-14

我有一个用例可以将begins_with应用于AWS Dynamodb表的主排序键,
我可以从AWS控制台使用begins_with键条件查询表,
我希望使用AWS Javascript SDK实现同样的功能。

我的表中有以下字段-
1。user_id(主分区键)
2。user_relation(主排序键)

我尝试了下面的代码-

let AWS = require('aws-sdk');
let util = require('util');

AWS.config.update({
    region: 'us-east-1'
});

let connection = new AWS.DynamoDB.DocumentClient();

let params = {
    TableName: 'user_details',
    KeyConditionExpression: 'user_id = :user_id and user_relation begins_with :user_relation',
    ExpressionAttributeValues: {
        ':user_id': "1234",
        ':user_relation': "followed-by"
    }
};

console.log('getQuery Params => ', params);
let dynamoDb = util.promisify(connection.query).bind(connection);
let results = await dynamoDb(params);
console.log('results => ', results);

错误-

(node:40474) UnhandledPromiseRejectionWarning: ValidationException: Invalid KeyConditionExpression: Syntax error; token: "begins_with", near: "user_relation BE
GINS_WITH :user_relation"

引用-
https://docs.aws.amazon.com/awsjavascriptsdk/latest/aws/DynamoDB/documentclient.html#query-property

DynamoDB,如何用Begins_with查询

不能用Begins_with查询DynamoDB以查找项列表

共有1个答案

蓬琦
2023-03-14

尝试:

const params = {
  TableName: 'user_details',
  KeyConditionExpression: '#user_id = :user_id and begins_with(#user_relation, :user_relation)',
  ExpressionAttributeNames:{
    "#user_id": "user_id",
    "#user_relation": 'user_relation'
  },
  ExpressionAttributeValues: {
    ":user_id": "1234",
    ":user_relation": "followed-by"
  }
}
 类似资料:
  • 我试图在DynamoDB上使用DynamoDBMapper.batchLoad()对具有复合主键的表执行批处理获取操作,其中我知道HashKey值的集合,但不知道RangeKey值。关于RangeKey值仅信息我只知道它们以其开头的字符序列,例如如果序列表示“test”,那么RangeKey值将类似于“test1243”。为了解决这个问题,Dynamodb支持begins_withcaluse但在

  • 问题内容: 我想使用Android Studio使用Gradle构建工具开发应用程序。我无法在上插入存储库和库。我的文件如下: 如何在项目中添加OpenCV? 问题答案: 您可以在Android Studio中轻松完成此操作。 请按照以下步骤将Open CV作为库添加到您的项目中。 libraries在项目主目录下创建一个文件夹。例如,如果您的项目是OpenCVExamples,则将创建一个Ope

  • 我想使用Android Studio开发一个应用程序使用Gradle构建工具。我无法在上插入OpenCV repo和库。我的文件如下所示: 我如何在我的项目中添加OpenCV?

  • 问题内容: 我想对英语句子加标签,并进行一些处理。我想使用openNLP。我已经安装了 当我执行命令时 它提供输出POSTagging Text.txt中的输入 我希望它安装正确吗? 现在如何从Java应用程序内部进行此POStagging?我已将openNLPtools,jwnl,maxent jar添加到项目中,但是如何调用POStagging? 问题答案: 这是我放在一起的一些(旧)示例代码

  • 问题内容: 我必须在GWT入口点使用java.util.Calendar,但是在运行应用程序时出现错误,这是因为GWT无法找到源代码,无论如何我都可以解决此问题。 提前致谢!!! 问题答案: java.util.Calendar不是模拟的类。您可以在此处找到仿真类的列表: http://code.google.com/webtoolkit/doc/latest/RefJreEmulation.ht

  • 问题内容: 我正在尝试使用Java中的HtmlUnit登录网站。首先,我输入用户名,然后输入密码。之后,我需要从下拉框中选择一个选项。输入用户名和密码似乎有效,但是当我尝试从下拉框中选择项目时出现错误。谁能帮我解决这个问题?我的代码如下: 问题答案: 这是HTMLunit的单元测试中的代码。 请注意,他们使用的是getSelectsByName而不是getElementById。 这是这些单元测试

  • 问题内容: 跟进如何在线程池中使用MDC?如何将MDC与?具体来说,我如何在执行任务之前包装一个MDC值? 问题答案: 以下内容似乎对我有用: 和 针对您的任务而不是普通的ForkJoinPool 运行任务。 代替扩展。

  • 问题内容: eclipse与weblogic配合使用的推荐插件是什么?具体来说,我需要使用旧版本的weblogic 8.1,但是我可以使用任何版本的Ecplise。我想调试应用程序并设置断点等。 我更大的任务是将项目移至Jboss,我是否可以在Eclipse中的两个应用服务器上部署相同的应用,大概需要2套配置文件,等等,有什么建议吗?2个独立的项目? 问题答案: 如果将Eclipse与WTP一起使