gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 02:06:27 24 4
gpt4 key购买 nike

我正在使用 Go API 与 Google App Engine 一起玩,尽管我已经尝试了所有方法,但我还是无法获得 Queries返回数据存储中的数据。我可以看到 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 个结果,即使控制台告诉我有很多结果。我试过没有 Filter在 SDK 提供的留言簿示例之后也调用,但无济于事。

如果这是键的问题(如果我理解正确的话不太可能,因为我正在查询一个属性),对 Put 的调用如下:

// tweetData passed in via parameter...
key := datastore.NewIncompleteKey(c, "TweetData", nil)
_, err := datastore.Put(c, key, &tweetData)

任何帮助将不胜感激,谢谢! ^_^

最佳答案

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

  • 重写 TweetData 注释以索引 Id 字段:


ID int64 `json:"id"`

  • 删除查询的 Order 子句:


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

关于google-app-engine - Google App Engine 中的查询/数据存储出现问题 - Go API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12414148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com