App Engine Go中的Kindless查询

在Python中


q = db.Query()

q.ancestor(ancestor_key)

我试过了:


q := datastore.NewQuery("")

q.Ancestor(ancestor_key)

运行GetAll时出现错误“数据存储:空类型”


我也尝试过:


q := &datastore.Query{}

q.Ancestor(ancestor_key)

我收到错误“数据存储:空查询类型”


在此先感谢您的帮助。


一只斗牛犬
浏览 219回答 3
3回答

慕雪6442864

func NewQueryfunc NewQuery(类型字符串)* QueryNewQuery为特定的实体类型创建一个新的查询。该类型必须为非空。在您的代码中q := datastore.NewQuery("")那种是空的。

临摹微笑

至少在目前,Rich Churcher的评论似乎是正确的。我认为Go中不支持Python无良祖先查询。有一会儿,我以为您可以使用祖先键的Kind()方法,然后我又喝了些咖啡,然后感觉到了。

阿晨1998

GetAll似乎不起作用,但是您可以执行无用的查询。ctx := appengine.NewContext(r)q := datastore.NewQuery("")for it := q.Run(ctx); ; {  key, err := t.Next(nil)  if err == datastore.Done {    break  }  if err != nil {    break  }  fmt.Printf("%v\n", key)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go