问题标签 [pocodynamo]

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

amazon-dynamodb - PocoDynamo - 使用现有表

假设我在 DynamoDB 中有一个已经存在的表,我如何将它注册到 PocoDynamo

“SomeTable”类型指向 prod 和 stg 环境中的不同表。有没有办法用表名注册类型或以其他方式设置表名。

有没有办法将现有表与 PocoDynamo 一起使用?

注意:我使用 terraform 创建表,不想使用 PocoDynamo 创建基础设施。

0 投票
1 回答
84 浏览

servicestack - ServiceStack PocoDynamo C# 查询嵌套对象属性

下面是我的 dynamodb 行对象结构。状态,呼叫是第一级列和内部呼叫,我有嵌套数据。

Servicestack 中的扫描查询是什么,我需要获取 Status=0 的行以及是否有任何 CapIndex=0 的调用

我尝试了以下但它抛出异常

例外:从范围“”引用的“缓存”类型的变量“x”,但未定义

大家有什么想法吗?

0 投票
1 回答
91 浏览

c# - DynamoDB - 如何使用 ServiceStack.Aws 实现乐观锁定

目前,我正在使用 ServiceStack.Aws v5.9.0 与 DynamoDB 进行通信。我已经使用 PutItem 来创建和更新项目,而不会在并发处理的情况下预期数据丢失。

在需要更新客户数据的每个服务/异步任务中都会调用上述 Update 方法。参考这篇 AWS 的文章,我决定实现 Optimistic Locking 来避免并发请求的问题。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBContext.VersionSupport.html

假设 VersionNumber 将是 Optimistic Locking 的关键。所以我将 VersionNumber 添加到 Customer 模型中。

  1. 结果是 VersionNumber 未更新,而应自动递增。我认为这只是因为 PutItem 将覆盖整个现有项目。这个对吗?
  2. 我想我需要在 Update 方法中从 PutItem 更改为 UpdateItem。问题是如何动态生成表达式以与 UpdateItem 一起使用?

提前感谢您的帮助!

更新:

感谢@mythz提供有关 DynamoDBVersion 属性的有用信息。然后我尝试删除 DynamoDBVersion 并使用 PocoDynamo 的 UpdateExpression 如下

但是除了 VersionNumber 之外,没有保存更改

0 投票
1 回答
21 浏览

servicestack - 如何自动创建缺失的索引?

如果我将调用 db.InitSchema() 则将创建没有全局索引的表。然后,如果我在上面的示例中取消注释全局索引并再次调用 db.InitSchema() 那么它不会创建丢失的全局索引。似乎 PocoDynamo InitSchema() 不会创建缺少的全局索引 - 我如何使用 PocoDynamo 创建一个?

0 投票
0 回答
24 浏览

servicestack - 如何在 PocoDynamo 中指定自定义(非自动增量)Id 哈希键?

我有一个 Id 属性标记为的模型HashKey

然后当我尝试添加新条目时:

新条目在 DynamoDB 中具有以下属性:

每当我尝试再次输入其他条目时,它只会更新 ID = 0 的条目。

Seq表是空的。

我想要的是手动传递 Id 值(因为它来自外部系统并且保证是唯一的)并且不使用自动增量功能。