我的数据存储区在appspot上没有索引条目?

时间:2014-07-06 11:46:24

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

首先我创建一个index.yaml

- kind: Tarifa 2014
  ancestor: yes
  properties:
  - name: Date
    direction: desc

- kind: Tarifa 2014
  ancestor: yes
  properties:
  - name: Division
  - name: Heat
  - name: Date
    direction: desc

然后我把一些数据放在

key := datastore.NewKey(s.Context, "Tarifa 2014", "", 0, s.Root)
key, err = datastore.Put(s.Context, key, m)

简单查询工作,

key := datastore.NewKey(s.Context, "Tarifa 2014", "", id, s.Root)
err = datastore.Get(s.Context, key, &m)

但这不是因为我的索引仍然是空的?

datastore.NewQuery(e).Ancestor(s.Root).Filter("Division =", d).Filter("Heat =", h).Order("-Date")

同样的,它也不起作用?

datastore.NewQuery(e).Ancestor(s.Root).Order("-Date")

我的索引在appspot.com上看起来像这样?

enter image description here

我的数据存储区在appspot.com上看起来像这样

enter image description here

请注意,在localhost:8080上,所有查询都可以正常工作吗?

1 个答案:

答案 0 :(得分:0)

由于一个不明确的原因,如果我使用Namespace,则索引查询会在appspot.com上中断

c2 := endpoints.NewContext(r)
c, err := appengine.Namespace(c2, "")
if err != nil {return err}

您需要在没有命名空间的情况下直接使用端点上下文。

c := endpoints.NewContext(r)