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

2023-12-04

我正在尝试使用表达式生成器按多个条件过滤 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"),
}

我已经能够在不使用表达式构建器的情况下完成此任务,但我更喜欢使用表达式构建器。我如何向该过滤器添加另一个条件?


您可以尝试添加多个条件And , Or and Not方法来自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)
}

文档.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 错误:连接超时:连接 - Android

    所以我只是安装了 Android studio 并运行了 Hello World 基本应用程序 然后我得到这个错误 错误 连接超时 连接 我尝试从我的中删除 gradleUSER文件夹 没有帮助 非常感谢任何帮助 谢谢 将android s
  • 如何从源代码中混淆的 ProGuard 类名中找到真实的类名?

    我收到一封来自 Google 的电子邮件 内容涉及TrustManager 的不安全实现唯一的线索表明有问题的代码位于 com b a af 类中 显然这是一个混淆的名字 我如何在我自己的源代码中从混淆的类名中获取真实的类名 有什么方法可以
  • 从 API 提取数据时的等待屏幕

    我创建了一个 Python 脚本来使用 API 下载数据 我还使用 PySimpleGUI 在其上放置了一个简单的 GUI 但是 在下载数据时 我想显示一个不确定的进度条或类似的东西 下载完成后它将自行退出 有没有办法实现这个要求呢 有两种
  • WPF 命令行

    我正在尝试创建一个采用命令行参数的 WPF 应用程序 如果未给出参数 则应弹出主窗口 对于某些特定的命令行参数 代码应在没有 GUI 的情况下运行 并在完成后退出 任何有关如何正确完成此操作的建议将不胜感激 首先 在 App xaml 文件
  • Java:可序列化内部类和匿名类是否应该具有 SerialVersionUID?

    尽管我目前不打算序列化任何内容 但我为所有可序列化的外部类以及静态嵌套类提供了一个SerialVersionUID 因为这是正确的方法 不过 我读过here that 由于多种原因 强烈建议不要对内部类 即非静态成员类的嵌套类 包括本地类和
  • 使用 ggpubr::stat_cor 绘制 ggplot 时出现解析错误(文本...)意外的逗号“,”并将输出小数设置为逗号(选项(OutDec =“,”))

    设置完后输出小数到逗号使用 option 命令 当使用函数 stat cor 将 Pearson 相关结果包含在 ggplot 中时 出现以下错误 Error in parse text text i
  • System.out.print 不带“ln”的字符串

    我有一个字节数组 如下所示 0 0 0 0 0 0 0 0 122 98 117 54 46 0 0 115 122 42 0 0 0 0 0 0 0 0 0 0 0 116 121 116 117 108 0 0 0 0 0 0 0 0
  • MPMoviePlayerControlle缩略图ImageAtTime:timeOption:给出空的UIImage

    我用它来获取视频的预览缩略图 void createThumb NSInteger paddingLeft 22 NSInteger paddingTop 22 CGFloat frameWidth self preview frame s
  • Mysql 查询到 ElasticSearch

    我正在尝试将 MYSQL 查询转换为 Elasticsearch 查询包含不同字段上的多个条件 让我解释一下我想要实现的目标 我的 Mysql 查询是 Select from data fl where city IN miami miam
  • Tcl 将变量的值作为变量的名称

    我在使用 Tcl 时遇到一些问题 我有一个变量 里面有一个字符串 但现在我希望这个字符串成为下一个变量的名称 我在网上发现了一些类似的问题 但这些都是关于将一 个变量的值放入另一个变量中 不使用它作为变量的名称 这是一个示例代码来帮助解释
  • 如何在没有 sudo 的情况下构建库?

    我通常会建立我的图书馆 configure make sudo make install 然而 Travis 文档不鼓励使用 sudohttp docs travis ci com user workers container based
  • GridView“ ”引发了未处理的事件 RowUpdating。 asp.net 背后的 C# 代码

    Stackoverflow和其他网站上也有类似的问题 但我似乎错过了一些东西 我有一个 GridView 绑定到来自数据库的 DataTable 我的目标是使用调用以下方法的同一行中的按钮更新当时的一行 protected void Tes
  • TensorFlow:恢复 RNN 网络后损失猛增

    环境信息 操作系统 Windows 7 64位 从预构建的 pip 安装的 Tensorflow 无 CUDA 1 0 1 Python 3 5 2 64 位 Problem 我在恢复网络 RNN 字符基础语言模型 时遇到问题 下面是具有相
  • Spark 查找 Dataframe 提高性能的最佳方法

    数据框A 数百万条记录 其中一列是create date modified date 数据框 B 500 条记录具有 start date 和 end date 目前的方法 Select a b from a join b on a cre
  • 如何检测html5画布是否为空白?

    我有一个涂鸦应用程序 可以将 html5 画布保存到 s3 中的图像中 如果用户在没有绘制任何内容的情况下意外单击 保存 我想避免保存空白 完全透明 的 png 我发现即使对于空白画布 toDataURL 也绝不是空字符串 而是大量数据转储
  • 表单上的两个提交按钮

    假设我有一组机构 每个机构都知道他的父亲是谁 并且一个机构可以有很多孩子 现在我为这个问题创建了一组级联下拉列表 因此在第一个时候 他会找到没有父亲的列表 如果可能的话 为第 0 层 一旦用户选择一个项目 第二个列表上的列表就会加载其子列表
  • Xcode 7: -F/ 的链接器警告,但 app.xcodeproj/project.pbxproj 中没有设置与 匹配

    我使用 Xcode 7 beta 3 将 iOS 的 Swift 1 x 项目转换为 Swift 2 x 它可以编译并运行 但链接器警告仍然存在 我已经在 project pbxprox 中搜索了有问题的路径 并查看了 Xcode 中的 构
  • 在 c# 中使用 asp.net 中的 Windows 身份验证

    我试图了解 Windows 身份验证的工作原理以及如何实现它 我读过很多文章 并在 youtube 上观看了一些相当长的视频 但我仍然不明白需要添加到我的 web config 文件 index aspx 页面中才能使其正常工作 这是ind
  • Python终端打开后报错

    当我尝试通过终端从终端打开 python 时python命令 我突然遇到错误 终端工作正常 但我想了解为什么会发生这种情况 提前致谢 PS C Users blackbird gt py AMD64 on win32 Type help c
  • 适用于 Go 的 AWS 开发工具包 - DynamoDb - 向 FilterExpression 添加多个条件

    我正在尝试使用表达式生成器按多个条件过滤 DynamoDb 扫描 根据这个博客文章 尝试在构建器中添加另一个条件将覆盖先前的条件 必须有某种方法来添加另一个条件 但我还没有找到一种方法来做到这一点 这行不通 cond1 expression