我正在使用 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
永远不会是非零,但总是返回 0 个结果,即使控制台告诉我有很多结果。在 SDK 提供的留言簿示例之后,我也尝试过没有过滤器调用,但无济于事。
如果是键的问题(如果我理解正确,不太可能,因为我正在查询一个属性),调用Put
如下:
// tweetData passed in via parameter...
key := datastore.NewIncompleteKey(c, "TweetData", nil)
_, err := datastore.Put(c, key, &tweetData)
任何帮助将不胜感激,谢谢!^_^