2016-03-15 41 views
0

所以我的問題是,我有2個集合(表)到我的Kinvey應用程序(國家和城鎮)。 國家/地區表具有添加的列(「名稱」)。 鎮表有兩列(「名稱」,「國家」)。Kinvey URL REST GET請求與相關表

所以我希望我的$ .ajax請求只返回具有由用戶選擇的特定country.name的城鎮的名稱。

舉例來說,如果我有排進鎮表 - 在我的頁面類型「英格蘭」>

{ name: "Manchester", country: (related to the row in Country table with name "England") } 
{ name: "Liverpool", country: (related to the row in Country table with name "England") } 
{name: "Berlin", country: (related to the row in Country table with name "Germany") 

而且客戶到一些輸入的文本字段中列出「曼徹斯特」和「利物浦」。

我的查詢的URL應該如何顯示?我應該使用?解決=或我應該使用?查詢=?

我用這種JSON身體的我POST請求添加表之間的關係 - >

{ 
    "name": "Liverpool", 
    "country": 
    { 
    "_type" : "KinveyRef", 
    "_id" : (Englands country row id), 
    "_collection" : "Country" 
    } 
} 

附:我更喜歡使用$ .ajax。

回答

0

因此,我們通常不會推薦使用Kinvey,因爲Kinvey絕不是關係數據庫。 Kinvey確實支持引用和引用解析,但與使用我們的SDK之一相比,通過REST執行操作是困難的。

除此之外,結構化數據以符合Mongo風格的對象通常更合理。如果您有一個「位置」集合,只需將關於位置的所有信息放在那裏,並使用您的應用程序邏輯來確定要顯示哪些信息位。

例子:

集合地點: { 「國家」: 「英國」, 「城市」: 「倫敦」, 「地標名」: 「大奔」, 「縱橫」:51.5008,「經度「:0.1247,」評論「:」你應該看到日落時分的大笨鐘,它很漂亮!「}

使用一個結構,你在一個地方擁有所有的信息將會減少你需要做的API調用總量,將確保您可以輕鬆更新對象(因爲我們不允許部分對象更新)。這也將使您更容易地添加/刪除字段到對象,因爲它們都將是該對象的核心。

另一個這樣的例子發生在某人正在製作餐廳評論應用程序時,他們說:「我有一張餐廳ID和他們映射到哪種類型的餐桌,餐桌和分數表類型」。我建議:爲什麼不把它變成一個集合,放棄這個ID,把它變成一家餐館,把所有類型,評論等全部集中在一個集合中。添加新評論時,請抓取受影響的餐廳對象並將其他評論欄添加到json。

思考平面數據方面的事情確實需要一些調整,但能夠隨時以任何想要的方式更改模式,這使得新應用程序的開發速度要快得多,因爲整個「花費一兩天時間在開始之前繪製您的模式圖「逐步完成,並允許您開始構建並清理細節,因爲它們變得更加清晰。