Google App Engine - ByteString查询失败

时间:2015-02-23 21:03:42

标签: google-app-engine go google-cloud-datastore

我正在开发一个Go应用程序,其中我有一个实体,其中包含一个包含识别标记的属性,该标识是一个随机的字节字符串。我将此属性存储为ByteString,并且在我的开发环境中,我已经能够使用以下形式的过滤器来查询此属性:

// token is a []byte
idTok := datastore.ByteString(token)
q := ds.NewQuery("Entity").Filter("IDToken =", idTok)

var entities []Entity
keys, err := q.GetAll(c, &entities)

但不幸的是,当作为模块部署到GAE时,此查询返回错误:datastore: bad query filter value type: unsupported datastore value type: datastore.ByteString,这令人困惑,因为我认为ByteString类型的目的是能够索引更少量的二进制数据500字节。

我首先根据这个SO问题的第二个答案切换到使用ByteString类型:Golang - Appengine datastore filter query with []byte comparison

1 个答案:

答案 0 :(得分:0)

此问题在一周后解决了。由于它只出现在模块环境中,我猜测它们的某些代码尚未更新以支持ByteString类型,现在是。现在很棒!