问题标签 [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.
nosql - 在 DynamoDB 中查找损坏的文档
我正在使用 dynamoose 扫描表格。但是,一个(或多个)密钥似乎已损坏。扫描失败并出现以下错误:预期 _modifiedAt 为数字类型,而不是找到类型对象 Schema 需要一个数字,但表中的某处有一个文档,其中键是一个对象。
我怎么找到这个?我们有数千个键,所以我想一个简单的搜索不会解决它。
谢谢
amazon-dynamodb - Dynamoose - 使用对象保存自定义类型时出错:预期 xxx 是对象类型,而不是找到类型对象
我正在尝试将我的猫鼬代码/db 迁移到 dynamoose/dynamodb。
尝试保存自定义对象时出现以下异常:
TypeMismatch:预期名称为对象类型,而不是找到类型对象
这是我在 nodejs / typescript 上的示例代码:
我怎样才能解决这个问题?
javascript - 如何使用 Dynamoose 正确查询索引
我正在使用Dynamoose来简化我在 node.js 应用程序中与 DynamoDB 的交互。我正在尝试使用 Dynamoose 的 Model.query 函数编写一个查询,该函数将使用索引搜索表,但似乎 Dynamoose 不包括处理查询所需的所有信息,我不确定我是什么做错了。
架构如下所示:
我希望能够通过电子邮件地址搜索用户,所以我正在编写一个如下所示的查询:
当我尝试执行此查询时,我收到以下错误:
使用 Dynamoose 调试输出,我可以看到查询最终看起来像这样:
我注意到发送到 DynamoDB 的实际查询不包含 KeyConditions 或 KeyConditionExpression,如错误消息所示。我做错了什么会阻止正确编写此查询,以便它针对我为此表添加的全局二级索引执行查询?
dynamoose - 创建 shcemas 时出现 Dynamoose 问题“无法创建预先存在的表”或“无法对不存在的表执行操作”
我正在为我的 dynamodb 设计使用单一表方法。
看看这里(单表结构示例)。无需阅读所有页面。这个想法是将几种不同类型的实体存储在同一个表中。(例如,订单、产品、客户等)。
我使用 dynamoose,我有以下模式:
我使用以下内容创建表:
问题是,当我运行此代码时,我得到一个无法对不存在的表执行操作的错误。
注意:该表已创建,但也引发了错误。
但是,如果我在两次通话之间添加睡眠时间,问题就会消失。
(注意:我在异步代码中运行它- 以下是完整代码)
我认为这种等待不应该存在,并且在我运行代码的环境中,使模型创建异步产生另一个错误,因为需要模式的代码是在初始化之前执行的。
希望您能够帮助我。
完整代码在这里:
所需的依赖项是:
- 发电机:
npm install dynamoose
- 本地 dynamodb:(见此页)
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb -inMemory
node.js - 预期“属性”是字符串类型,而是找到类型对象 - Dynamoose
我正在使用AWS DynamoDB和Dynamoose尝试使用Scan
函数获取记录,但遇到了一个我无法识别的问题。
奇怪的是,它能够以相同的方式从另一个表中获取记录并成功获取记录。
这是我的代码:
该TypeMismatch
错误仅针对此模型出现,相同的代码适用于另一个表。
控制台错误
我的桌子
这似乎与Dyanmoose 上的这个 github 问题有关
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 } ]
我还没有遇到没有键值对的对象(我是自学的),所以我不知道如何解决这个问题。目前的方法似乎效率低下而且有点错误。请告诉我如何以正确的方式做到这一点
amazon-dynamodb - 扫描嵌套对象数组 - DynamoDB
所以,我正在尝试使用 dynamo db 过滤数组内的对象。这是我的示例对象
我正在使用过滤器表达式和 dynamoose 扫描方法,在这种情况下我想要实现的是扫描将所有具有取消状态的订阅带回,这可能使用 dynamodb 和这种对象吗?
javascript - 基于数组中所有元素的 DynamoDB/Dynamoose 查询
有没有办法使用 DynamoDB/Dynamoose 根据包含所有指定元素的数组字段进行查询?我正在从 MongoDB/Mongoose 迁移,我需要类似于$all
MongoDB 中运算符的功能(https://docs.mongodb.com/manual/reference/operator/query/all/)
node.js - 使用带有 .in() 运算符的查询时出现 DynamoDB/Dynamoose 错误
我正在创建一个聊天应用程序并使用 Dynamoose.js。我有一张conversations
桌子和一张messages
桌子。我想在messages
表上查询以查找属于对话的所有消息。当我进行查询时,我收到以下错误:
这是我的模式和查询的样子:
对话.model.js
消息模型.js
询问
知道我要去哪里错了吗?我认为这可能与我创建和使用二级索引的方式有关,但我不太确定。任何帮助表示赞赏,谢谢!
node.js - 如何在 aws lambda 函数中使用 dynamoose?
实际上,我是 AWS Lambda 函数和 Amazon DynamoDB 的新手,所以我找不到使用 Dynamoose 模式创建表并使用它创建 CRUD 操作的方法。
我对猫鼬很熟悉,我读到 Dynamoose 的灵感来自它。
那么,谁能告诉我如何使用 Dynamoose 模式在 Lambda 中创建 CRUD 操作?