为了账号安全,请及时绑定邮箱和手机立即绑定

Google App Engine中的查询/数据存储出现问题-Go API

Google App Engine中的查询/数据存储出现问题-Go API

Go
ITMISS 2021-05-09 04:28:39
我正在使用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提供的留言簿示例之后,我也尝试了没有Filter调用的尝试,但没有成功。如果键存在问题(如果我理解正确,不太可能,因为我正在查询属性),则对的调用Put如下:// tweetData passed in via parameter...key := datastore.NewIncompleteKey(c, "TweetData", nil)_, err := datastore.Put(c, key, &tweetData)任何帮助,将不胜感激,谢谢!^ _ ^
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

查询要求按排序Id desc,而索引字段未建立索引时,您应该:

  • 将TweetData批注重写为索引ID字段:

   Id int64 `json:"id"`

  • 删除查询的Order子句:

   q := datastore.NewQuery("TweetData").Filter("Screen_name =", twitterUser).Limit(10)


查看完整回答
反对 回复 2021-05-17
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信