问题标签 [documentclient]

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 回答
387 浏览

c# - DocumentClient.CreateDocumentQuery 在运行查询时引发“不是实例”错误

我正在编写一个从 cosmosDB 数据库中获取文档的 .NET Web 服务。我在另一个项目中编写了一个函数(应该尽可能通用)来检索文档,以便 WS 使用它。

我正在使用这样的DocumentClients功能CreateDocumentQuery

这工作正常,返回数据库中的第一个文档。但是将其用法更改为CreateDocumentQuery

并且包裹在一个 try-catch 块中会引发一个异常,该异常具有以下InnerException状态:

对象未设置为对象的实例。

还有一些异常字段是:

该查询适用于来自 azure 门户的该集合。

我正在使用的客户端属性是:

ConnectionMode =网关和协议 = Https

关于为什么这种用法有效而另一种使用显式查询字符串的任何想法都不会?我也尝试使用一个SqlQuerySpec对象,结果是一样的。我不想使用该Where()函数,因为我想使用泛型类型。async 关键字是为了将来使用。

0 投票
1 回答
459 浏览

c# - CosmosDB 中的小写文档

我正在尝试在 CosmosDB 中以小写字母(属性名称和值)存储文档。我只是想在DocumentClient水平上做到这一点。JsonSerializerSettings我发现在创建客户端对象时应用以下代码。但这仅适用于属性名称。

我可以使用下面的代码来实现这一点,但我想在JsonSerializerSettingson 上做DocumentClient

0 投票
0 回答
35 浏览

javascript - 尝试将范围键与提供的日期范围进行比较时,ConditionExpression 失败

我在 dynamodb 中有一个表,其中包含 deviceKey 的哈希键和时间戳的范围键。deviceKeys 的形式为“randomstring-num”,因此例如我可能有“abc-1”,其中字符串是 IoT 设备 ID,数字是事件序列。由于我们的物联网设置,我们可以获得看起来相同的重复消息。为了避免这些重复,我想避免插入具有相同 deviceKey 且彼此相隔 10 秒内的项目。我尝试执行以下操作,但似乎总是失败。

上面的代码总是导致条件失败。似乎只要我包含 NOT BETWEEN 部分的日期范围,它就会失败。我是否正在尝试这种哈希 + 范围键配置无法实现的东西?

总结一下,如果

存在,我不想让任何东西在向前或向后 10 秒内插入相同的哈希键,所以

应该失败。这些消息大致同时进入(相隔毫秒),所以在这种情况下,我不确定在插入之前进行查询是否是一个可行的选择。

0 投票
0 回答
156 浏览

amazon-web-services - AWS DynamoDB | 检查地图列表是否包含特定值

我将用户数据存储在 AWS DynamoDB 中。其中一个属性是地图列表:

如何编写一个 Scan 来检查是否skills有带有name=的地图foo

我正在使用DocumentClient

我试过使用contains但无法让它与嵌套在列表中的地图一起使用:

0 投票
2 回答
3382 浏览

amazon-web-services - 动态数据库 | 批量获取 | 以与提供的键相同的顺序获取结果

我正在使用 AWS DynamoDB 来存储用户。

考虑以下代码:

在 BatchGet 中使用上述参数将返回请求的用户,但顺序是随机的!

问题:是否可以在不丢失 Keys 中定义的顺序的情况下批量获取用户?

0 投票
0 回答
975 浏览

amazon-dynamodb - DocumentClient 查询返回无效的 KeyConditionExpression:未定义表达式中使用的表达式属性值

我正在尝试在我的 dynamodb 表中查询特定的 partition_key,其中排序键以“REFRESHTOKEN_”开头。我为此使用 DocumentClient 查询操作。运行时,我收到以下错误消息,表明表达式属性 :refreshTokenID 显然没有定义。请参阅下面的查询,了解我的查询。

0 投票
1 回答
267 浏览

node.js - DocumentClient 和 GSI 的 batchWrite 方法

我正在尝试从 DynamoDB 表中删除一些项目。我的表有一个全局二级索引。我想知道是否可以使用 DocumentClient 的 batchWrite 方法从 GSI 表中删除项目。或者我们可以只使用 GSI 来获取数据?

如果可能,请提供一些参数示例。

文档

0 投票
2 回答
599 浏览

node.js - 如何编写参数以从数组中更新对象中特定属性的值?

如何根据电影数组中的标题和项目 ID 更新数量值 (123)

我只设法更新第一层的值,如名称(大卫),但不知道如何使用数组(电影)的附加过滤器更新第二层。

从:

至:

顺便说一句,我在 node.js 中使用 aws DynamoDB 文档客户端,如果你能在更新参数中分享你是如何做到的,那就太好了。

0 投票
1 回答
676 浏览

javascript - 使用 DynamoDB.DocumentClient 成功进行事务处理后,ItemCollectionMetrics 为空

我正在对 DynamoDb 执行transactWritehttps://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#transactWrite-property)指令并期望返回ItemCollectionMetrics(我ReturnItemCollectionMetrics: 'SIZE'在请求中指定)。

{}即使在 dynamo db 表上发生更改,该对象也会返回空。

有人对此有任何想法吗?

代码

输出

谢谢!

0 投票
1 回答
116 浏览

node.js - 我应该在 ExpressionAttributeValues 中传递什么类型的整数类型的排序键以在 dynamodb 中查询?

根据 dynamodb文档,我们需要将数字类型添加为字符串。参考图片-在此处输入图像描述

但这会引发“ValidationException:一个或多个参数值无效:条件参数类型与架构类型不匹配”的错误,如果我们传递整数,那么它的工作原理与文档相矛盾。如果有人可以向我建议文档是否有错误,或者我是否误解了?