问题标签 [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.

0 投票
1 回答
108 浏览

nosql - 在 DynamoDB 中查找损坏的文档

我正在使用 dynamoose 扫描表格。但是,一个(或多个)密钥似乎已损坏。扫描失败并出现以下错误:预期 _modifiedAt 为数字类型,而不是找到类型对象 Schema 需要一个数字,但表中的某处有一个文档,其中键是一个对象。

我怎么找到这个?我们有数千个键,所以我想一个简单的搜索不会解决它。

谢谢

0 投票
1 回答
1018 浏览

amazon-dynamodb - Dynamoose - 使用对象保存自定义类型时出错:预期 xxx 是对象类型,而不是找到类型对象

我正在尝试将我的猫鼬代码/db 迁移到 dynamoose/dynamodb。

尝试保存自定义对象时出现以下异常:

TypeMismatch:预期名称为对象类型,而不是找到类型对象

这是我在 nodejs / typescript 上的示例代码:

我怎样才能解决这个问题?

0 投票
2 回答
2727 浏览

javascript - 如何使用 Dynamoose 正确查询索引

我正在使用Dynamoose来简化我在 node.js 应用程序中与 DynamoDB 的交互。我正在尝试使用 Dynamoose 的 Model.query 函数编写一个查询,该函数将使用索引搜索表,但似乎 Dynamoose 不包括处理查询所需的所有信息,我不确定我是什么做错了。

架构如下所示:

我希望能够通过电子邮件地址搜索用户,所以我正在编写一个如下所示的查询:

我为电子邮件字段定义了一个全局二级索引: 电子邮件索引活动 GSI 电子邮件(字符串) - 全部

当我尝试执行此查询时,我收到以下错误:

使用 Dynamoose 调试输出,我可以看到查询最终看起来像这样:

我注意到发送到 DynamoDB 的实际查询不包含 KeyConditions 或 KeyConditionExpression,如错误消息所示。我做错了什么会阻止正确编写此查询,以便它针对我为此表添加的全局二级索引执行查询?

0 投票
1 回答
2170 浏览

dynamoose - 创建 shcemas 时出现 Dynamoose 问题“无法创建预先存在的表”或“无法对不存在的表执行操作”

我正在为我的 dynamodb 设计使用单一表方法。

看看这里(单表结构示例)。无需阅读所有页面。这个想法是将几种不同类型的实体存储在同一个表中。(例如,订单、产品、客户等)。

我使用 dynamoose,我有以下模式:

我使用以下内容创建表:

问题是,当我运行此代码时,我得到一个无法对不存在的表执行操作的错误。

注意:该表已创建,但也引发了错误。

但是,如果我在两次通话之间添加睡眠时间,问题就会消失。

注意:我在异步代码中运行它- 以下是完整代码)

我认为这种等待不应该存在,并且在我运行代码的环境中,使模型创建异步产生另一个错误,因为需要模式的代码是在初始化之前执行的。

希望您能够帮助我。

完整代码在这里:

所需的依赖项是:

  • 发电机:npm install dynamoose
  • 本地 dynamodb:(见此java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb -inMemory
0 投票
3 回答
1904 浏览

node.js - 预期“属性”是字符串类型,而是找到类型对象 - Dynamoose

我正在使用AWS DynamoDBDynamoose尝试使用Scan函数获取记录,但遇到了一个我无法识别的问题。

奇怪的是,它能够以相同的方式从另一个表中获取记录并成功获取记录。

这是我的代码:

TypeMismatch错误仅针对此模型出现,相同的代码适用于另一个表。

控制台错误

控制台错误

我的桌子

表数据

这似乎与Dyanmoose 上的这个 github 问题有关

0 投票
1 回答
229 浏览

javascript - 如何使用没有键对的对象访问属性的值?

我正在使用 dynamoose,查询返回以下输出

当我尝试做时typeof(output),它会返回Object

当我尝试做时Object.keys(output),它会返回[ '0', 'lastKey', 'count', 'queriedCount', 'timesQueried' ]

当我这样做时Object.entries(output),它会返回[ [ '0', Document { cost: 100 } ],[ 'lastKey', undefined ], [ 'count', 1 ], [ 'queriedCount', undefined ], [ 'timesQueried', 1 ] ]

为了我的使用,我需要一个看起来像这样的对象,{cost: 100}目前我正在使用

JSON.parse(JSON.stringify(output))

这给了我

[ { cost: 100 } ]

我还没有遇到没有键值对的对象(我是自学的),所以我不知道如何解决这个问题。目前的方法似乎效率低下而且有点错误。请告诉我如何以正确的方式做到这一点

0 投票
0 回答
180 浏览

amazon-dynamodb - 扫描嵌套对象数组 - DynamoDB

所以,我正在尝试使用 dynamo db 过滤数组内的对象。这是我的示例对象

我正在使用过滤器表达式和 dynamoose 扫描方法,在这种情况下我想要实现的是扫描将所有具有取消状态的订阅带回,这可能使用 dynamodb 和这种对象吗?

0 投票
1 回答
323 浏览

javascript - 基于数组中所有元素的 DynamoDB/Dynamoose 查询

有没有办法使用 DynamoDB/Dynamoose 根据包含所有指定元素的数组字段进行查询?我正在从 MongoDB/Mongoose 迁移,我需要类似于$allMongoDB 中运算符的功能(https://docs.mongodb.com/manual/reference/operator/query/all/

0 投票
1 回答
398 浏览

node.js - 使用带有 .in() 运算符的查询时出现 DynamoDB/Dynamoose 错误

我正在创建一个聊天应用程序并使用 Dynamoose.js。我有一张conversations桌子和一张messages桌子。我想在messages表上查询以查找属于对话的所有消息。当我进行查询时,我收到以下错误:

这是我的模式和查询的样子:

对话.model.js

消息模型.js

询问

知道我要去哪里错了吗?我认为这可能与我创建和使用二级索引的方式有关,但我不太确定。任何帮助表示赞赏,谢谢!

0 投票
0 回答
507 浏览

node.js - 如何在 aws lambda 函数中使用 dynamoose?

实际上,我是 AWS Lambda 函数和 Amazon DynamoDB 的新手,所以我找不到使用 Dynamoose 模式创建表并使用它创建 CRUD 操作的方法。

我对猫鼬很熟悉,我读到 Dynamoose 的灵感来自它。

那么,谁能告诉我如何使用 Dynamoose 模式在 Lambda 中创建 CRUD 操作?