【问题标题】:App Engine - ReferenceProperty and custom indexesApp Engine - ReferenceProperty 和自定义索引
【发布时间】:2010-07-26 16:57:28
【问题描述】:

这是 Drew Sears 对此讨论的回答的后续问题:

App Engine Datastore - Data Model question

如果我将存储桶建模为对象类型中的参考属性,并说我想查询存储桶 1234 中大小 > 1000 的对象。我的查询将类似于“where bucket = key('Bucket', 1234) and size > 1000"。

我假设这将需要对存储桶和大小属性的自定义索引。这个假设是错误的吗?如果不是,那么原始问题(动态类型)中的模型#2 是使其与自动索引一起使用的唯一方法吗?我希望有另一种方法。

谢谢, 可乐

【问题讨论】:

  • 你为什么这么反对自定义索引?
  • 正如我在原始问题中提到的,我的对象可以具有任意属性,我需要所有这些属性都可以单独查询。如果我要为每个属性创建一个自定义索引,我很快就会用完 200 个自定义索引的配额。

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


【解决方案1】:

您是对的:这需要自定义索引。动态类型将是解决此问题的一种方法 - 虽然是一种笨拙的方法 - 但可能还有其他方法。你能告诉我们更多关于这些实体的结构、用户可以声明的属性类型以及对这些属性的有效查询吗?

【讨论】:

  • 存储桶所有者定义该存储桶中对象的结构。示例对象结构:(名称,大小),(名称,长度,描述,只读)等示例查询:大小> 1000(第一个结构),长度> 1000(第二个结构),read_only = false(再次是第二个结构) )
  • 但在一个存储桶中的一个属性上只有一个过滤器吗?
  • 是的。如果我过滤了多个,我将在内存中应用二级过滤器或发出 2 个查询。
猜你喜欢
  • 2011-02-04
  • 2012-04-07
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-03
  • 2014-07-05
  • 1970-01-01
相关资源
最近更新 更多