问题标签 [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.
node.js - Dynamoose:如何获取最新的行?
我正在尝试使用Dynamoose获取 table 的最新行。
我阅读了query().ascending()
and query.descending()
,但据我了解,我需要查询整个表,这要求 hashkey 为空。scan()
不支持排序。
就像是:
有谁知道如何获得最新的行?
提前致谢!
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 阻止了
javascript - 查询两个字段
我有一个名为 Dynamoose (DynamoDB) 的模型PromoCode
,其架构如下所示:
本质上,我有一张充满促销代码的表格,我想获得一个尚未使用的促销代码,并且是促销代码特定“组”的一部分。
因此,我想同时查询previouslyUsed
和promoGroup
字段并将结果限制为单个结果。这就是我想出的:
即使我知道查询应该匹配结果,这也不返回任何结果。如果我将限制增加到10,那么我会得到四个结果。这让我认为限制是在 之前发生的,and()
因此前面filter()
只过滤了10 个返回的结果 where previouslyUsed=false
。
如何在条件previouslyUsed=false
和条件promoGroup=friend
有效的情况下获取单个结果?
node.js - 使用 dynamoose 向 dynamodb 查询 3 个参数
我正在尝试使用 3 个参数查询 DynamoDB 表,但它不起作用。但是,使用 1 个参数它可以完美运行。
我正在使用 NodeJs、DynamoDB、Dynamoose ......这是我的代码:
使用 promise 调用另一个函数:
显示我的错误...
我的错误在哪里??我该如何解决?或者另一种形式来制作这个......
amazon-dynamodb - Dynamoose 模式中的地图列表
我在我的 DynamoDB 数据库中有一个表,其中包含一个元素作为地图列表。每个地图项没有任何特定的结构。
我试图这样描述它:
但是,Content 中的每个项目都等于 {}。list: [Map]
更改为时,我可以检索数据list: [String]
,但我希望将其保存在 Json 中,而不是包含 DynamoDB Json 格式的字符串中。
我怎样才能做到这一点?
javascript - 如何使用 dynamoose 查询本地 dynamoDB?
作为一名开发人员,我不想一直连接到 Amazon Web 服务,我在本地计算机上安装了 DynamoDB,并参考了AWS Docs。我在后端使用 node.js。
我在生产中使用 dynamoose 作为 Amazon DynamoDB 的建模工具,如何使用相同的 dynamoose 查询本地 DynamoDB 表进行开发?
node.js - 如何使用 dynamoose 删除表
你如何删除dynamoose中的表?
例如有没有Model.deleteTable()
功能?
node.js - 使用 dynamoose 向 dynamoDB 发布请求时缺少必需的值
这是我的模型定义:
这是我的发帖请求:
但是,它会引发以下错误:
任何人都知道我到底做错了什么?这是我通过 POSTMAN 发送的 JSON:
javascript - dynamoose 如何让多个模型共享一个表?
您可以使用 dynamoose 让多个模型共享一个表吗?这是我希望将它们保存在同一个表中的两个模型,并通过它们的type
哈希键和id
范围键来区分它们。
这些是我使用的方法。我可以在 console.logging 中告诉 args 参数有我期望进入new ...
. new Course
or函数的 return 语句new Teachers
包含我添加的所有参数,但它们实际上并没有在数据库中结束。这是为什么?
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")
。所以我认为它应该配置。
如果需要,这是我的测试:
任何想法可能是什么问题?