node.js - 亚马逊的 DynamoDB 是否有一个好的查询构建器?

标签 node.js amazon-dynamodb

我找到了 this package .一般来说,它很不错。但是似乎缺少对Projection Expressions的支持.对于 node/typescript 中的 dynamodb,您选择的工具是什么?

我不喜欢列出的数据映射器 here因为它们倾向于包装表数据,或者作为项目被放弃。

最佳答案

如果 typescript 是一个选项,我们使用 https://github.com/shiftcode/dynamo-easy .它也不支持投影表达式,但底层参数始终可以是 accessed and manipulated , 因此添加一些不受支持的功能很容易。

import { DynamoStore } from '@shiftcoders/dynamo-easy'

const queryRequest = new DynamoStore(PersonModel)
    .query()
    .wherePartitionKey('2018-01')
    .whereSortKey().beginsWith('a')
    .limit(1)

    const queryParams = queryRequest.params
    queryParams.ProjectionExpression = 'projectionExpression'
    // also add expression attribute names if required
    queryParams.ExpressionAttributeNames = {'#someExpressionAttributeName': 'someExpressionAttributeName'}

    // you can also use new DynamoDB().query(queryParams), but we just use the preconfigured wrapped client  
    queryRequest.dynamoDBWrapper.makeRequest('query', queryParams)
        .then(r => console.log('first found item with projection expression:', r))

完全披露:我是这个库的作者之一

关于node.js - 亚马逊的 DynamoDB 是否有一个好的查询构建器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46851687/

相关文章:

node.js - 无法在 Ubuntu 16.04 中安装 Angular CLI

node.js - 使用哪个aws sdk?

amazon-web-services - 如何计算 DynamoDB 表中的目标利用率?

amazon-dynamodb - 动态模块 : How do I efficiently query the number of rows in groups of primary keys?

amazon-dynamodb - 为什么本地二级索引只允许用于散列和范围键(不仅仅是散列?)

javascript - 异步编程中的for循环

javascript - 如何使用node.js上传文件并将其存储在mongodb中?

node.js - 如何在使用 jest 模拟 axios.get 时传递 AxiosPrmoise 类型值?

node.js - 使用 babel-preset-env 进行转译,而不从 create-react-app 中弹出

javascript - 请求中包含的安全 token 无效。 AWS 开发工具包