按父实体过滤数据存储结果

我该如何在Go中进行操作?我想做类似的事情:


t := new(TagRecord)

k, err := datastore.DecodeKey(r.URL.Path[1:])

...

_, err = datastore.NewQuery("TagRecord").

  Filter("Parent =", k). 

  Order("-CreatedAt").

  Limit(1).

  Run(c).Next(t)

...但这失败了,并出现以下错误:


datastore: query has no more results

当我尝试通过其他属性进行过滤时,包括那些硬编码到过滤器中的属性以及通过URL传递的属性,查询将正常运行并使用适当的属性填充t。用什么丢脸的简单性可以解决我的问题?


繁星点点滴滴
浏览 191回答 2
2回答

天涯尽头无女友

令您绊倒的是,父级查询不使用Filter()。相反,您使用祖先约束:q := datastore.NewQuery("TagRecord").    Ancestor(k).    Order("-CreatedAt").    Limit(1)// etc...

慕容3067478

确保您还为此特定查询定义了索引,并上传了索引配置文件
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go