2013-03-20 146 views
0

我想知道存儲數據的最佳方式是否適合我的情況。我想爲一個人存儲一系列屬性,例如電話號碼。例如:Google App Engine:存儲數據及查詢

名稱:李四 號碼:0998234,23443145,2341234,3425425

的問題,給出了一些我如何可以通過「數字」屬性來定位李四搜索。從我讀過的沒有使用GAE的LIKE聲明?

感謝,

編輯:

我將使用Python放棄數據,並將其插入到數據存儲。然後我將使用Google Cloud Endpoints(Java JPA Querys)來查詢這些數據。目前我無法搜索屬性中的多個值&返回相應的實體,因爲在GAE數據存儲中沒有可用的LIKE語句。

回答

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

相關問題