2016-01-21 42 views
0

我在解析概念很新的關係,我一直是永遠的經典關係數據庫開發人員,如果對不起,我做基本的錯誤。Parse.com - 表和用戶表

主要的想法是開發一個組件,它允許用戶存儲只分配給他的幾個基本屬性(約100)的一些優惠碼。

到現在爲止,我已經創建了一個類調用代碼,並在標準用戶之一,我已經安裝了有關代碼一個新的領域被稱爲代碼對象。我正在使用Javascript SDK,因爲它將成爲一款移動應用程序。

首先,是這個數據模型最適合的一個實現我的目的還是你給我推薦的任何其他選擇嗎?

我第POC,我創建了一個簡單的應用程序註冊一個用戶,創建代碼,並將其分配給他,但它不工作,我沒有得到任何錯誤消息。使用解析WUI,我可以看到用戶對象已正確創建,並且還有代碼代碼,但單擊用戶關係時不顯示任何代碼鏈接。難道我做錯了什麼?

這裏是我的代碼提前

success: function(user) { 
    $scope.currentUser = user; 

    var Code = Parse.Object.extend("Codes"); 
    var myCode = new Code(); 
    myCode.set("text", "This is a dummy test"); 
    myCode.save(); 

    var relation = user.relation("Codes"); 
    relation.add(myCode); 
    user.save(); 
    $scope.$apply(); 
    } 

感謝您的幫助

問候

+0

請考慮兩次,如果你真的想要和需要學習解析。它將於2017年1月28日全面退役 – Mkr

回答

0

首先,是這個數據模型最適合的一個實現我的目的還是你推薦我有其他選擇嗎? 答:您正在使用最適合多對多關係的關係模型。它應該適合您的使用情況。您也可以使用指針模型。這樣你就不需要在你的用戶表上創建任何東西,而是在你的代碼表上創建一個類型爲「指針」的字段並指向用戶。你可以命名字段「所有者」或類似的東西。指針模型適用於多對一關係。

與您的代碼的問題是,你的時間節省代碼給用戶,代碼沒有成功創建呢。如你所知,javascript SDK是異步的,所以在myCode.save()完成之前調用user.save()。我想這就是爲什麼你沒有看到你的代碼表中的實際代碼。你應該用promise來代替。繼續檢查他們網站上的諾言文檔。供您參考,您的代碼可以修改如下:

success: function(user) { 
    $scope.currentUser = user; 
    var Code = Parse.Object.extend("Codes"); 
    var myCode = new Code(); 
    myCode.set("text", "This is a dummy test"); 
    myCode.save().then(function(createdCode){ 
     var relation = user.relation("Codes"); 
     relation.add(createdCode); 
     user.save(); 
     $scope.$apply(); 
    }, function(error){ 
     // handle error here. 
    }); 
} 
+0

完美,現在正在運作。我仍然需要學習很多,謝謝你的幫助:) – sickfear