golangのデータストアクエリにいくつかの奇妙な問題があります。クエリーは正常に実行されますが、合計(cli.Count())を引き出す場合は、タイムアウトするたびに一貫して失敗します。私が何か間違っているのか、これを行う正しい方法があるのか誰かが説明できますか?奇妙な部分は、それがクエリの数に失敗し、私はなぜ、私はNewQueryを作成しようとしたと新しいクライアントを初期化しようとしたが、どちらも動作しないだけです。Golang Datastore任意の数を使用したクエリ
// GetListByID provides an iterative list of all items filtered by ID.
func GetListByID(theID, limit, offset int) ([]Item, int, error) {
var itemList []Item
cli, ctx, err := getClient()
if err != nil {
return itemList, 0, err
}
if limit <= 0 {
limit = 20
}
q := datastore.NewQuery("SomeKind").Filter("MasterID = ", theID)
ql := q.Limit(limit).Offset(offset)
_, err = cli.GetAll(ctx, ql, &itemList)
if err != nil {
return itemList, 0, err
}
if len(itemList) < limit && offset == 0 {
return itemList, len(itemList), nil
}
total, err := cli.Count(ctx, q)
return itemList, total, err
}
appengineでは実行されませんのでご注意ください。 AWSとデータセンターのインスタンス上で動作します。 (尋ねないでください)
正確なエラーメッセージは何ですか? –