问题标签 [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 回答
1692 浏览

node.js - Dynamoose:如何获取最新的行?

我正在尝试使用Dynamoose获取 table 的最新行

我阅读了query().ascending()and query.descending(),但据我了解,我需要查询整个表,这要求 hashkey 为空。scan()不支持排序。

就像是:

有谁知道如何获得最新的行?

提前致谢!

0 投票
1 回答
2154 浏览

node.js - DynamoDB:Dynamoose 更新($PUT 默认行为)没有按预期工作?

我正在尝试实现一个 PUT(更新)API 端点,将元素的主键作为路径中的参数传递,并将我想要更新的属性作为正文中的参数传递。但是没有按预期工作,而不是更新现有元素的属性,而是在数据库中创建具有错误属性的新元素。

据我从Dynamoose API 文档Model.update(key, update, options, callback)更新和表中的现有项目中了解到。例如,如果我们有一个 Dog 模型,其中age一个属性是,那么这段代码

age使用 ownerId: 4 更新名为“Odie”的 Dog

现在,我尝试对自己的 API 进行类似的更新。我有一个名为的数据模型InvoiceConfig,其中主键对应于唯一的名称/id(字符串)属性,并包含另一个名为providerVariants(对象数组)的属性

这是我在 swagger 中的 API 定义:

这是在我的代码中实现 dynamoose 更新的函数:

我在数据库中有一个对象:

我尝试从 swagger-ui 传递以下参数来更新它: ID01在端点路径本身和providerVariants主体中的修改数组中:

但是正如我一开始所说的,如果我检查我的表的内容,我会看到 providerName "ID01" 的项目没有改变,并且创建了一个新项目:

我怀疑在这个新对象中providerName(主键)填充了providerVariants数组,这是完全错误的。欢迎任何有关如何解决此问题的提示,我不知道如何进行更新。我的 API 中的其他端点(get、delete、post)工作正常,但我被 update/put 阻止了

0 投票
1 回答
1215 浏览

javascript - 查询两个字段

我有一个名为 Dynamoose (DynamoDB) 的模型PromoCode,其架构如下所示:

本质上,我有一张充满促销代码的表格,我想获得一个尚未使用的促销代码,并且是促销代码特定“组”的一部分。

因此,我想同时查询previouslyUsedpromoGroup字段并将结果限制为单个结果。这就是我想出的:

即使我知道查询应该匹配结果,这也不返回任何结果。如果我将限制增加到10,那么我会得到四个结果。这让我认为限制是在 之前发生的,and()因此前面filter()只过滤了10 个返回的结果 where previouslyUsed=false

如何在条件previouslyUsed=false和条件promoGroup=friend有效的情况下获取单个结果?

0 投票
1 回答
885 浏览

node.js - 使用 dynamoose 向 dynamodb 查询 3 个参数

我正在尝试使用 3 个参数查询 DynamoDB 表,但它不起作用。但是,使用 1 个参数它可以完美运行。

我正在使用 NodeJs、DynamoDB、Dynamoose ......这是我的代码:

使用 promise 调用另一个函数:

显示我的错误...

我的错误在哪里??我该如何解决?或者另一种形式来制作这个......

0 投票
1 回答
3858 浏览

amazon-dynamodb - Dynamoose 模式中的地图列表

我在我的 DynamoDB 数据库中有一个表,其中包含一个元素作为地图列表。每个地图项没有任何特定的结构。

我试图这样描述它:

但是,Content 中的每个项目都等于 {}。list: [Map]更改为时,我可以检索数据list: [String],但我希望将其保存在 Json 中,而不是包含 DynamoDB Json 格式的字符串中。

我怎样才能做到这一点?

0 投票
4 回答
2861 浏览

javascript - 如何使用 dynamoose 查询本地 dynamoDB?

作为一名开发人员,我不想一直连接到 Amazon Web 服务,我在本地计算机上安装了 DynamoDB,并参考了AWS Docs。我在后端使用 node.js。

我在生产中使用 dynamoose 作为 Amazon DynamoDB 的建模工具,如何使用相同的 dynamoose 查询本地 DynamoDB 表进行开发?

0 投票
1 回答
1370 浏览

node.js - 如何使用 dynamoose 删除表

你如何删除dynamoose中的表?

例如有没有Model.deleteTable()功能?

0 投票
0 回答
479 浏览

node.js - 使用 dynamoose 向 dynamoDB 发布请求时缺少必需的值

这是我的模型定义:

这是我的发帖请求:

但是,它会引发以下错误:

任何人都知道我到底做错了什么?这是我通过 POSTMAN 发送的 JSON:

0 投票
2 回答
1129 浏览

javascript - dynamoose 如何让多个模型共享一个表?

您可以使用 dynamoose 让多个模型共享一个表吗?这是我希望将它们保存在同一个表中的两个模型,并通过它们的type哈希键和id范围键来区分它们。

这些是我使用的方法。我可以在 console.logging 中告诉 args 参数有我期望进入new .... new Courseor函数的 return 语句new Teachers包含我添加的所有参数,但它们实际上并没有在数据库中结束。这是为什么?

0 投票
1 回答
1289 浏览

node.js - 尝试使用 Dynamoose 在本地 DynamoDB 上运行 Chai 时配置中缺少区域

我正在使用 Restify,我正在尝试学习如何编写测试我的 CRUD 方法。当我连接到 DynamoDB 时,我可以在 Postman 上毫无问题地测试它们。对于测试,我将连接到在 localhost:8000 上运行的本地 DynamoDB。

server.listen,我有这个:

(我也尝试调用dynamoose.local()上述更新)

当我使用mocha --timeout 10000命令运行测试时,出现以下错误:

现在我知道这是一个问题,因为 dynamoose 无法配置区域。但是当我在开发中运行它时,它可以在同一段代码中正常工作。在我的配置文件中,我也有相同的数据库配置。我通过console.log(config.db)在 if中添加来验证这一点(config.env == "test")。所以我认为它应该配置。

如果需要,这是我的测试:

任何想法可能是什么问题?