Google App Engine:存储数据及查询

问题描述:

我想知道存储数据的最佳方式是否适合我的情况。我想为一个人存储一系列属性,例如电话号码。例如:Google App Engine:存储数据及查询

名称:李四 号码:0998234,23443145,2341234,3425425

的问题,给出了一些我如何可以通过“数字”属性来定位李四搜索。从我读过的没有使用GAE的LIKE声明?

感谢,

编辑:

我将使用Python放弃数据,并将其插入到数据存储。然后我将使用Google Cloud Endpoints(Java JPA Querys)来查询这些数据。目前我无法搜索属性中的多个值&返回相应的实体,因为在GAE数据存储中没有可用的LIKE语句。

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

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 
    ... 
    ... 
+0

感谢您的答复。此查询是否也可以通过JPA完成?我正在编写一个云端点,并将使用带有entitymanager的查询。 – derpyderp 2013-03-20 05:50:23

+0

我很困惑。原来的问题有'python'标签,所以我认为你使用的是python。请删除标签'python'并将该信息(您正在使用JPA)添加到原始问题中。 – 2013-03-20 06:06:16

+0

对此感到抱歉。我应该更好地解释自己,我在上面添加了一个更新来解释我想要做什么。谢谢。 – derpyderp 2013-03-20 14:11:38