问题标签 [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-dynamodb - aws-sdk/dynamoose 是否可能在本地 DynamoDB 上导致 SQLite 语法错误?
上下文:
从 Nodejs 6 升级到 12 以及项目的依赖项时发现问题。使用 dynamoose 2.3 使用 docker-compose 的容器化应用程序:仅后端和 dynamodb 实例
dynamodb 的 Docker 文件:
问题:提起容器时,在后端初始化 dynamodb 实例后抛出以下错误,导致任何后续查询或调用停止并在后端超时返回。
错误:
我怀疑在通过 Dynamoose 的 model() 创建表时会发生这种情况,该模型在后台调用 aws 的 DynamoDB createTable 方法。
我目前正在分析升级到 nodejs 12 和 dynamoose 2.3。在本地,我更愿意让它运行以测试项目的其他部分,所以我不介意更新索引和重新创建表,但想知道这个语法错误来自哪里来修复它并继续。
问题: aws-sdk 或 dynamoose 是否可能导致 DynamoDB 本地实例尝试删除带有 SQLite 语法错误的索引?
aws-lambda - 用户无权执行:dynamodb:CreateTable on resource:
当我尝试运行register
查询 table的 lambda 函数example_user
时,它会抛出以下错误。我的代码只是试图从表中获取数据example_user
而不是创建任何表。
{"errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"AccessDeniedException: User: arn:aws:sts::577777777777:assumed-role/example-user-api-dev-ap-southeast-1-lambdaRole/example-user-api-dev-register is not authorized to perform: dynamodb:CreateTable on resource: arn:aws:dynamodb:ap-southeast-1:577777777777:table/example_user","reason":{"errorType":"AccessDeniedException","errorMessage":"User: arn:aws:sts::577777777777:assumed-role/example-user-api-dev-ap-southeast-1-lambdaRole/example-user-api-dev-register is not authorized to perform: dynamodb:CreateTable on resource: arn:aws:dynamodb:ap-southeast-1:577777777777:table/example_user"
之后抛出错误13 UserController with email
这是我的代码:
User.js
UserController.js
下面是我serverless.yml
文件中的一个片段
node.js - 在 Dynamoose 中查询 OR 条件
我需要与此 SQL 查询等效的 dynamoose 查询
select * from employees where first_name like '%fish%' or last_name like '%fish%'
。
我尝试了下面的代码,但不起作用。
谁能指导我。
amazon-dynamodb - Dynamoose:提供的关键元素与架构不匹配
嗨,我知道以下错误:
提供的关键元素与架构不匹配
这里有一些答案,但没有一个对我有帮助,因为我已经将这些建议应用于我的问题并且它仍然存在。
我正在为我的数据库使用 Dynamoose 和 Koa.js,这里的后端是我的模型模式:
如您所见,我选择email
了我的哈希键,因为它既是必需的又是唯一的。
这是我的控制器代码:
当我使用名称、电子邮件和密码的 json 值发出发布请求时,我收到以下错误。我也尝试过User.get(email)
两者都抛出相同的错误。这是控制台完整记录的内容:
在此处找到的常用解决方案告诉我将我正在搜索的内容与哈希键(AWS 文档中的分区键)相匹配。当我通过电子邮件搜索并将电子邮件设置为我的哈希键时,我已经这样做了。有人可以帮我解决这个问题吗?
amazon-dynamodb - 如何在 Dynamoose/DynamoDB 中建模关系?
我需要用户与发票相关联。在 SQL 数据库中,它将是一个外键。我怎样才能在 Dynamoose 中做到这一点?
其他表中的每条记录都必须拥有所有者作为创建它的用户。
amazon-dynamodb - 使用哈希键更新 Dynamoose 模型
我正在尝试对 dynamoose 模型执行更新。这是关于调用的文档model.update
key
可以是表示hashKey的字符串或包含hashKey和rangeKey的对象。
我的架构同时具有哈希键(分区键)和范围键(排序键),如下所示:
我创建了一个像这样的对象(带有固定的演示时间戳)
我希望能够status
通过引用id
这样的属性来更新属性:
但两者都导致显示的错误:
如果我知道时间戳,我可以传入完整的复合键,因此以下将起作用:
但是,这需要我坚持时间戳并与 id 保持一致。
在我的例子中,ID 字段本身应该是唯一的,所以我不需要两者都创建一个键,但想将日期添加为范围键以便它是可排序的。我应该只更新我的架构,以便只有一个哈希键吗?我在想那些说“`key可以是代表hashkey的字符串”的文档会让我只传递ID,但这会在编译时引发错误(在打字稿中)。
有什么建议么?
amazon-dynamodb - dynamodb 项目条目中缺少 createdAt
我有一个dynamodb
表,我声明使用dynamoose
如下:
据我了解,当我"timestamps": true
声明时,它应该同时 createdAt
具有和 updatedAt
字段。
所以当我运行看起来像这样的代码时
当我在 Amazon DynamoDB 管理控制台中检查插入/更新的数据时,没有createdAt
,只有updatedAt
. 按理说我应该也createdAt
太对了吧?如果没有,如何确保createdAt
永远存在?
node.js - 在节点中使用 dynamoose 在 dynamodb 模式中搜索值列表
我有一个发电机数据库模式可以说是这样的
我想搜索一个可以说特定存储库“abc”的项目。我该如何搜索?
到目前为止,我尝试了类似 team.scan({ bitbucketDetails: { contains:"abc" }}).all().exec() 但一直说 ValidationException:一个或多个参数值无效:ComparisonOperator CONTAINS 对 M 无效属性值类型。
请帮忙!!
typescript - TypeScript Schema 中的 Dynamoose 嵌套映射/数组
我正在尝试为以下示例创建架构:
我最初试图做以下结构,这在技术上是正确的,应该可以工作,但由于https://github.com/dynamoose/dynamoose/issues/909中发现的错误而失败。
但是,它似乎不起作用。越来越TypeError: Cannot read property 'toLowerCase' of undefined
。由于嵌套数组或对象,会发生小写错误。
我也看到了TypeMismatch: Expected foods.0.fruits to be of type object, instead found type object.
后者发生在我试图改变架构时认为可能是它,但这不是问题。
- 这是使用版本 2.7.0。