Google Datastore 通过 nodejs 的官方客户端库返回不完整的数据



这里有一些关于我面临的问题的上下文的信息:

  1. 数据存储中有一个半结构化(来自节点.js后端的 JSON(数据。
  2. 保存实体后,
  3. 并很快甚至一段时间后获得有关它们的实体列表,
  4. 返回的数据没有一个索引属性
  5. 我可以通过该属性值找到实体。

我通过node.js客户端库使用Google Datastore。 @google-cloud/datastore: "^2.0.0" .

怎么可能?我了解由于最终一致性,某些更新可能不完整编写等。但是当我得到同样的不一致时 - 缺少保存的实体的完整属性,例如一小时前?我多次为同类经历了多次场景。我对其他种类或其他此类属性没有此类问题。

如何避免此类 Google 数据存储问题?

回答任何可能遇到此类问题的人。对于这个项目中的大多数类型,我们大多不使用任何 DTO(数据传输对象(或任何其他包装器,但对于这个项目,使用了 DTO,主要是为了确保结果对象具有实体中省略/不存在的属性的默认值,这通常发生在由旧版本代码创建的实体中。

在更仔细地查看我自己的代码后,我发现一段代码与其他相关代码段不同步 - 没有一行将此属性从实体复制到 DTO 对象。

旁注:实际上,所有这些情况都让我想起了一个故事或模因,关于一个人声称他在编译器中发现了一个错误,只是因为他无法找到他在代码中犯的错误。

最新更新