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
...
...
感谢您的答复。此查询是否也可以通过JPA完成?我正在编写一个云端点,并将使用带有entitymanager的查询。 – derpyderp 2013-03-20 05:50:23
我很困惑。原来的问题有'python'标签,所以我认为你使用的是python。请删除标签'python'并将该信息(您正在使用JPA)添加到原始问题中。 – 2013-03-20 06:06:16
对此感到抱歉。我应该更好地解释自己,我在上面添加了一个更新来解释我想要做什么。谢谢。 – derpyderp 2013-03-20 14:11:38