当前位置: 首页 > 面试题库 >

适用于Go的AWS开发工具包-DynamoDb-向FilterExpression添加多个条件

南门鸿畴
2023-03-14
问题内容

我正在尝试使用表达式生成器按多种条件过滤DynamoDb扫描。根据此博客文章,尝试在构建器中添加另一个条件将覆盖先前的条件。必须有某种方法可以添加其他条件,但是我一直无法找到一种方法来添加它。

这行不通

cond1 := expression.Name("foo").Equal(expression.Value(5))
cond2 := expression.Name("bar").Equal(expression.Value(6))
expr, err := expression.NewBuilder().
    WithCondition(cond1).
    WithCondition(cond2).
    Build()
if err != nil {
fmt.Println(err)

}

这是一个带有单个过滤器的工作示例

filt := expression.Name("Artist").Equal(expression.Value("No One You Know"))
proj := expression.NamesList(
    expression.Name("SongTitle"),
    expression.Name("AlbumTitle"),
)
expr, err := expression.NewBuilder().
WithFilter(filt).
WithProjection(proj).
Build()
if err != nil {
  fmt.Println(err)
}

input := &dynamodb.ScanInput{
  ExpressionAttributeNames:  expr.Names(),
  ExpressionAttributeValues: expr.Values(),
  FilterExpression:          expr.Filter(),
  ProjectionExpression:      expr.Projection(),
  TableName:                 aws.String("Music"),
}

我已经能够在不使用表达式buidler的情况下完成此操作,但是我更喜欢使用表达式构建器。如何向该过滤器添加其他条件?


问题答案:

你可以尝试添加多个条件AndOrNot从方法ConditionBuilder结构。例:

cond1 := expression.Name("foo").Equal(expression.Value(5))
cond2 := expression.Name("bar").Equal(expression.Value(6))
expr, err := expression.NewBuilder().
    WithCondition(cond1.And(cond2)).
    Build()
if err != nil {
    fmt.Println(err)
}

文件资料。



 类似资料:
  • 我在nodejs中有一个查询,如下所示。但它不返回任何值。有什么办法解决这个问题吗?

  • 我有一个带有分区键和排序键的表,还有另外两列。我无法在使用javaScript AWS SDK的DynamoDB中使用FilterExpression获得多个条件下的项。有人能提供正确的代码来检索FilterExpression中有多个条件的数据吗?我的代码如下:

  • 本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。 LiteIDE LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。 图1.4 LiteIDE主界面 LiteIDE主要特点: 支持主流操作系统 Windows Linux MacOS X Go编译环境管理和切换 管理和切换多个Go

  • 我需要创建dynamoDB表,然后根据开发、阶段和生产对它们进行分组。我在AWS控制台中找到了一个创建表组的选项,我们可以将表添加到组中。但是我需要使用AWS SDK将表添加到一个特定的组中,我检查了AWS DynamoDB SDK类列表我没有找到任何选项。

  • 我在Amazon DynamoDB表分区键和范围键。 表结构 现在我想使用带有多个扫描条件的C#库从表中检索数据。 HashKey=123 有什么方法可以使用c#dynamoDB API实现这一点吗?请帮忙

  • 问题内容: 任何使用Android(“ gPhone”)的人都知道或者在哪里可以找到一个好的ORM工具?代码是用Java编写的,数据库是SQLite。我想找到的是一种给定了对象定义的工具,可以自动生成表和CRUD函数(那真棒),或者禁止使用可以接受表定义,对象定义的工具,并自动生成CRUD功能。问题是所有这些必须在Android框架内发生,Android框架对数据库访问的工作方式有自己的约定。 问