在排序结果

时间:2017-12-06 10:13:31

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

我有一个带字符串属性Bar的简单测试对象Foo。当我执行.GetAll(" Foo")查询时,我会返回所有返回的对象,但是,当我添加.Order(" Bar")时,则不返回任何内容。我已经尝试过使用和不使用index.yaml指定对象和属性,有和没有排序顺序。我错过了什么?我没有使用" noindex"在酒吧物业。

type Foo struct {
   Bar string
}

.NewQuery("Foo").Order("Bar").GetAll(c, &foo)  <-- nothing returned

.NewQuery("Foo").GetAll(c, &foo)  <-- objects returned

1 个答案:

答案 0 :(得分:1)

实体在插入时被编入索引。

  1. 确保您的struct字段没有数据存储区的noindex注释。
  2. 确保您的struct字段不会更改注释中的属性名称(注释。例如:

    条形码// datastore:bar

  3. 确保您没有覆盖PropertyLoadSaver,并且不要使该属性不可转换,也不要更改名称。

  4. 签入数据存储区查看器,您可以在该属性上订购,这样您的Put()代码就不会出现问题,而且查询可能会出现问题。