Google数据存储区通过官方客户端库返回NodeJS的不完整数据

时间:2019-05-29 16:21:28

标签: node.js google-cloud-datastore

以下是有关我所遇到问题的背景的信息:

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

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

这怎么可能?我知道,由于最终的一致性,某些更新可能无法完全写入等。但是当我出现相同的不一致时-缺少保存e的实体的整个属性。 G。一个小时前? 我多次经历了相同种类的场景。 我没有其他种类或此类性质的此类问题。

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

1 个答案:

答案 0 :(得分:0)

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

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

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