2012-06-20 27 views
0

我想用兩個型號:這兩種數據結構中的哪一種使backbone.js更高效?

User: 
- firstname : stringField 
- lastname : stringField 

Event: 
- description : stringField 
- users : list of referenceField(User) 

當查詢事件時,我的REST API可以輸出兩個數據結構:

API JSON輸出:

{ 
    description: "MyDescription", 
    users: [ 
     { $id: user_1_id }, 
     { $id: user_2_id } 
    ] 
} 

{ 
    description: "MyDescription", 
    users: [ 
     { $id: user_1_id, firstname : "user_1_firstname", lastname: "user_2_lastname" }, 
     { $id: user_2_id, firstname : "user_2_firstname", lastname: "user_2_lastname" } 
    ] 
} 

這兩個結構中的哪一個更適合將模型嵌套到backbone.js中?

+0

'nesting models'你的意思是把它們放入一個集合中? –

+0

是的!在JavaScript中,我希望能夠從特定事件中獲取所有用戶 – Franquis

回答

1

這兩種方法都可以工作,第一種方法是使用列表中的id從用戶集合中獲取完整的模型,第二種方法基本上在事件的用戶列表中包含完整的副本。

如果您需要從多個地方引用用戶模型,則第一個JSON輸出可能會是更好的選擇。由於您表示Event模型中的用戶列表是參考列表,我會說這可能是您想要採用的方法。

另一方面,如果您只打算使用一個Event模型,或者所有事件模型都有獨立的用戶,那麼您可以使用第二個JSON輸出並將所有內容存儲在事件模型中(尤其是因爲您的用戶模型只有幾個屬性,但也許這只是爲了說明)。