【问题标题】:Google App Engine - Querying for arrays containing a valueGoogle App Engine - 查询包含值的数组
【发布时间】:2013-09-10 13:32:02
【问题描述】:
我有一个 GAE 数据存储表,其中包含一个数组字段(包含一些字符串)。
我想根据包含特定字符串的所有数组字段过滤此表。
我怎样才能做到这一点 ?
我没有在 GQL 中看到“包含”运算符,而“in”运算符则相反。
我是否只需要遍历所有实体并自己进行检查?
(P.S. 我在 GAE 的工作中使用 Python)。
【问题讨论】:
标签:
google-app-engine
google-cloud-datastore
gql
gqlquery
【解决方案1】:
只需使用等于,例如:
class MyModel(db.Model):
colors = db.StringListProperty()
MyModel(colors=['red', 'blue']).put()
MyModel(colors=['green', 'blue']).put()
MyModel(colors=['red', 'green']).put()
color = 'red'
query = MyModel.gql('WHERE colors = :1', color)
models = query.fetch(10)
assert len(models) == 2