Go API を使用して Google App Engine で遊んでいますが、あらゆることを試しましたが、データストアにあるデータを返すクエリを取得できません。Put()が期待どおりに機能し、次の場所から入手できる管理コンソールを調べると、エンティティがリスト可能/アクセス可能であることがわかります。dev_appserver.py
私が格納している構造体は、次のように定義されています。
type TweetData struct {
Id int64 `datastore:",noindex" json:"id"`
Text string `datastore:",noindex" json:"text"`
Screen_name string `json:"screen_name"`
}
そして、それを照会するための私の呼び出しは次のとおりです。
func getDatastoreTweets(c appengine.Context, twitterUser string) []*TweetData {
q := datastore.NewQuery("TweetData").Filter("Screen_name =", twitterUser).Order("-Id").Limit(10)
var oldTweets []*TweetData
if _, err := q.GetAll(c, &oldTweets); err != nil {
fmt.Printf("Getall had non-nil error! %v\n", err)
}
return oldTweets
}
このクエリの場合、err
nil 以外になることはありませんが、コンソールに多くの結果があると表示された場合でも、常に 0 の結果が返されます。SDKが提供するゲストブックの例の後、 Filter呼び出しなしでも試しましたが、役に立ちませんでした。
キーに問題がある場合 (プロパティに対してクエリを実行しているため、正しく理解しているとは考えにくい)、への呼び出しPut
は次のとおりです。
// tweetData passed in via parameter...
key := datastore.NewIncompleteKey(c, "TweetData", nil)
_, err := datastore.Put(c, key, &tweetData)
どんな助けでも大歓迎です、ありがとう!^_^