2

Python で既に回答されているこの質問: How to get all records from GAE datastore with specificparent?

Goでどうすればいいですか?私は次のようなことをしたいと思います:

t := new(TagRecord)
k, err := datastore.DecodeKey(r.URL.Path[1:])
...
_, err = datastore.NewQuery("TagRecord").
  Filter("Parent =", k). 
  Order("-CreatedAt").
  Limit(1).
  Run(c).Next(t)

...しかし、これは次のエラーで惨めに失敗します:

datastore: query has no more results

フィルターにハードコードされたものや URL を介して渡されたものなど、他のプロパティでフィルター処理を試みると、クエリは適切に実行され、t に適切なプロパティが入力されます。私の問題は、どれほど屈辱的な単純さで解決できるでしょうか?

4

2 に答える 2

2

ここでつまずくのは、親によるクエリではFilter()が使用されないことです。代わりに、祖先制約を使用します。

q := datastore.NewQuery("TagRecord").
    Ancestor(k).
    Order("-CreatedAt").
    Limit(1)

// etc...
于 2013-01-07T07:41:36.503 に答える
0

この特定のクエリのインデックスも定義し、インデックス構成ファイルをアップロードしてください。

于 2013-02-06T09:47:05.673 に答える