Google App Engine:存储数据&查询它

时间:2013-03-20 04:35:00

标签: python google-app-engine jpa google-cloud-datastore

我想知道存储数据的最佳方式是针对我的情况。我想为一个人存储一个属性列表,比如电话号码。例如:

姓名:John Doe 数字:0998234,23443145,2341234,3425425

问题是,如果给出一个数字,我如何搜索'numbers'属性来找到John Doe。根据我的阅读,使用GAE没有LIKE语句?

谢谢,

编辑:

我将使用python废弃数据并将其插入数据存储区。然后我将使用Google Cloud Endpoints(Java JPA Querys)查询此数据。在那一刻,我无法搜索属性中的多个值。返回相应的实体,因为GAE数据存储区中没有LIKE语句。

1 个答案:

答案 0 :(得分:0)

您可以使用重复属性。这是一个例子:

class User(ndb.Model):
    name = ndb.StringProperty(required=True)
    numbers = ndb.StringProperty(repeated=True)

# save a user
john_doe = User(name='John Doe',
                numbers=['0998234', '23443145', '2341234', '3425425'])
john_doe.put()

# query with a number '0998234'
query = User.query(User.numbers == '0998234')
for matched_user in query:
    # do something with matched_user
    ...
    ...