【问题标题】:What is the Entity Key for in the Datastore Viewer?数据存储查看器中的实体键是什么?
【发布时间】:2013-09-16 04:32:05
【问题描述】:

我是 Google App Engine、Python 和 NoSQL 的新手。

在浏览 Datastore Viewer 时,我注意到列表视图中有一个标记为“Key”的键,而单个实体编辑视图中有一个标记为“Entity Key”的键,这是自动生成的。

它是干什么用的?我应该用它来识别我的实体吗?还是我应该忽略它?它是 App Engine 使用的内部密钥吗?

对此的任何启示将不胜感激!

谢谢

更新:

这是让我困惑的截图:http://snag.gy/J7ISd.jpg

表格中从左到右依次是“Key”(我要问的那个)、“Write Ops”、“ID”、“Key Name”。我的问题是,“Key”是干什么用的?

更新 2:

蒂姆霍夫曼在评论中回答了我的问题。 “密钥”列是整个密钥的 url 安全版本。

总而言之,实体的键由数字 ID 或字符串键组成,并且每个实体还有一个 url 安全版本,可以在 URL 周围传递,即自动生成。

【问题讨论】:

  • 您需要阅读文档,了解关键是什么,如何使用它是 appengine 的基础 - developers.google.com/appengine/docs/python/datastore/entities
  • 我确实阅读了文档,据我了解,密钥由数字 id 或字符串组成。在数据存储查看器中,我看到了 2 种类型的字符串。见截图:link
  • 您特别问“它有什么用?我应该使用它来识别我的实体吗?还是应该忽略它?它是 App Engine 使用的内部密钥吗?” - 所有这些都在文档中进行了解释。
  • 这有多令人困惑,数据存储查看器只是为了您的方便而将密钥分解为其组成部分。如果您为名称/id 提供一个字符串,它将存储为一个字符串。如果系统生成 id 它是一个 int。这是记录在案的。并且有注意两种类型的字符串。 Key 列中的值是整个密钥的 URL 安全版本。
  • 最后一句话回答了我的问题:“Key 列中的值是整个密钥的 URL 安全版本。”。谢谢!

标签: google-app-engine google-cloud-datastore


【解决方案1】:

数据存储区实体为represented by their unique key。正如文档所述,Datastore 中的每个实体都有一个唯一标识它的键。密钥由以下组件组成:

  • 实体的种类,为了数据存储区查询而对其进行分类
  • 单个实体的标识符,可以是 键名字符串 一个整数数字 ID
  • 在数据存储层次结构中定位实体的可选祖先路径

【讨论】:

  • 在第二个要点中,您提到了键名和 ID。我想知道我的屏幕截图上的第一列(键)是什么。
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
相关资源
最近更新 更多