这两个数据结构中的哪一个使backbone.js更有效?

时间:2012-06-20 13:30:33

标签: backbone.js pymongo

我想使用两种模式:

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中?

1 个答案:

答案 0 :(得分:1)

这两种方法都可行,第一种方法是使用列表中的id从用户集合中获取完整的模型,第二种方法基本上包括事件用户列表中的完整副本。

如果您需要从多个地方引用用户模型,那么第一个JSON输出可能是更好的选择。因为你表示事件模型中的用户列表是一个参考列表,我想这可能是你想采取的方法。

另一方面,如果您只有一个事件模型或者所有事件模型都有单独的用户,那么您也可以使用第二个JSON输出并将所有内容存储在事件模型中(特别是因为您的用户仅建模有几个属性,但也许只是为了说明。)