小编jac*_*man的帖子

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

我正在尝试使用表达式生成器按多个条件过滤 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)
Run Code Online (Sandbox Code Playgroud)

}

这是一个使用单个过滤器的工作示例

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"),
}
Run Code Online (Sandbox Code Playgroud)

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

go amazon-web-services amazon-dynamodb

5
推荐指数
1
解决办法
7276
查看次数

Angular - 正确使用RXJS扩展运算符进行递归http调用

我试图使用前一次调用的值对Reddit的API进行递归的http调用.问题是前一个呼叫在下一个呼叫开始之前没有完成,因此正在进行重复呼叫.应该为每个调用更新"after"值,直到"after"值未定义.我找到了这个相关的帖子,并试图使用所描述的解决方案,但我无法弄清楚如何在下次通话之前确保之前的通话已完成.以下是我的实际代码:

private getSavedPostsForAuthenticatedUser(username: string, after: string, userPosts: any) {
    const headers = new Headers();
    if (!userPosts) {
        userPosts = [];
    }
    headers.append('Authorization', `Bearer ${this._token}`);
    const redditUrl = `${RetainerConfig.redditOauthUrl}user/${username}/saved`;
    const url = after ? `${redditUrl}/?after=${after}` : redditUrl;
    return this._http.get(url, { headers: headers })
        .map(response => response.json())
        .expand(response => {
            if (response.data) {
                for (const post of response.data.children) {
                    userPosts.push(post);
                }
                if (response.data.after) {
                    return this.getSavedPostsForAuthenticatedUser(username, response.data.after, userPosts);
                }
            }
            return Observable.of(userPosts);
        });
Run Code Online (Sandbox Code Playgroud)

recursion reddit rxjs typescript angular

2
推荐指数
1
解决办法
2832
查看次数