问题标签 [dynamoose]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - dynamodb 中的哈希键和范围键是什么以及如何使用它们
我目前正在研究 dynamodb 文档,但不清楚哈希键和范围键是什么以及应该如何使用它们。
我只需要对它们是什么以及我应该如何使用它们进行基本解释,以便我可以继续使用它。
node.js - 如何从 DynamoDB 的 AttributeValue 格式实例化 Dynamoose 模型?
我正在使用 Dynamodb 流对记录进行一些处理,因为它们被添加或修改到我的表中。我还在我的应用程序中使用 Dynamoose 模型。
Dynamodb 流事件将一个事件对象传递给我的 node.js lambda 处理程序,其中包括对象record.dynamoDb.NewImage
和record.dynamoDb.OldImage
. 但是,这些对象采用 DynamoDB 的 AttributeValue 格式,包括所有数据类型(“S”表示字符串),而不是普通的 javascript 对象。就这样record.id
变成了record.id.S
。
Dynamoose 模型允许您从对象实例化模型,如下所示new Model(object)
:但是,它希望该参数是一个普通对象。
我知道 Dynamoose 有一个 dynamodb 解析器,我认为它的 Schema.prototype.dynamodbparse()。但是,这并没有按预期工作。
那么有没有办法从 DynamoDB 的 AttributeValue 格式实例化一个 Dynamoose 模型呢?有没有其他人这样做过?
另一种方法是,我只是从 中提取密钥record
,然后使用 访问数据库,Model.get({ id: idFromEvent });
但我认为这效率低下,因为记录只是从流中交给我的。
jestjs - 在 jest mock 中使用原始函数会导致无限循环
我有一个来自 dynamoose的可链接方法,在测试中我想向链中添加一个额外的方法。
本质上,在测试中我想替换所有实例
和
所以我尝试了:
但这显然会导致某种无限循环,因为我得到RangeError: Maximum call stack size exceeded
如何在模拟实现中使用函数的原始实现?
javascript - 扫描直到找到 x 个项目?
我正在编写一个查询来查找其用户名以给定前缀开头的所有用户。我只希望查询最多返回 10 个项目。我现在的查询是
在更仔细地阅读了 dynamoose文档.limit()
之后,我意识到限制是它检查的表条目数,而不是它返回的条目数。因此,如果我有 10 个用户,其中 5 个用户的用户名以“m”开头,则类似的查询query: { prefix: 'm', limit: 5}
可能会返回 0 个项目。
我知道我可以查询数据库中的所有用户,然后只返回其中的一些,但它是不可扩展的。如何查询数据库,以便在找到 10 个匹配项时停止查看表?
amazon-dynamodb - 无法扫描 DynamoDB 映射嵌套属性
我是 DynamoDB 的新手,我正在尝试使用Dynamoose库从 javascript 查询表。我有一个表,其主分区键为字符串类型,称为“id”,它基本上是一个带有用户 ID 的长字符串。我在表中有一个名为“attributes”的第二列,它是一个 DynamoDB 映射,用于存储任意用户属性(我无法更改架构,因为这是预定义的持久性适配器的工作方式,我一直在使用它为了方便)。这是表中记录的示例:
Map中的数字字段,例如“12”字段可以解释为“week10”、“week11”、“week12”和“week13”,数值2、4、6和8是次数该应用程序于该周启动。
我需要做的是获取在特定周(例如第 12 周)中有超过 4 次启动的记录的所有用户 ID,我还需要获取在四个范围内总共有 20 次启动的用户 ID 列表周(例如从第 10 周到第 13 周)。
使用 Dynamoose,我必须使用以下模型:
(以匹配我正在使用的持久性适配器生成的表结构)。我假设我需要进行 DynamoDB“扫描”来实现这一点,而不是“查询”,我尝试了这个开始并获得第 12 周等于 6 的记录无济于事(结果我得到一个空集):
如果您不了解 Dynamoose,但可以通过 AWS 开发工具包帮助解决此问题,请直接运行 DynamoDB 扫描,这可能对我也有帮助。
谢谢!!
amazon-web-services - 即时切换 Dynamodb 区域
aws-sdk
有没有办法通过使用 javascript或dynamoose
npm 包在 DynamoDB 区域之间动态切换?
假设 2 个表存在于孟买 (ap-south-1) 和法兰克福 (eu-central-1) 两个不同的区域。最初,当应用程序启动时,它使用 ap-south-1,然后经过一些业务逻辑,它需要将数据库实例路由到 eu-central-1。
那么,如何通过使用 javascript aws-sdk 或 dynmoose 包来实现它。
现在,我正在使用下面的代码片段。但它不工作
有人可以帮忙吗?有没有办法记录运行特定查询的 AWS Dynamodb 区域?就像启用 AWS 记录器一样,它只是输出
dynamoose - 如何 OR 查询 Dynamoose 中的包含项?
我想从 DynamoDB 的列中搜索(查询)一堆字符串。使用 Dynamoose https://github.com/dynamoose/dynamoose 但它什么也没返回。如果允许这种类型的查询或者是否有其他相同的语法,你能帮忙吗?
代码示例
我想要所有这些品种,所以这些是 OR 查询。请帮忙。
typescript - 导出 Dynamoose Typescript 模型
- dynamoose 库为构建模型提供了以下签名:
- TypeScript 文件中的消费按如下方式进行:
- 编译产生错误:
关于 SO 的类似问题的其他答案建议ModelDocumentConstructor
应该导入。TS4023:导出的变量 <x> 具有或正在使用来自外部模块的名称 <y>,但无法命名
但是接口本身没有导出,所以不能导入。