我想扩展parse.com在其教程中提供的this example以使用骨干集合和第二级数据(注释)。现在,exmaple正在检索用户的帖子列表,其中包含以下数据结构:
USER
--------------------------------------
| User_ID | Username | ......
--------------------------------------
| 1 | John | ........
| 2 | Jane | ........
POST
--------------------------------------
| POST_ID | User_ID | Title | .....
--------------------------------------
| 20 | 1 | abcdefg | .....
| 21 | 1 | svsvdsv | .....
我要扩展此调用以便为每个帖子返回相应的评论。这意味着将有一个一个 api调用解析,它将所有帖子和所有评论返回给登录用户的那些帖子(正确嵌套)。以下是评论数据结构的示例:
COMMENT
-----------------------------------------------------------------------
| COMMENT_ID | POST_ID | Comment_Text | Title | .....
-----------------------------------------------------------------------
| 30 | 21 | awesome post woohoo | abcdefg | .....
| 31 | 21 | terrible post.... | svsvdsv | .....
非常感谢任何帮助!
答案 0 :(得分:0)
Backbone.js不支持嵌套模型,因此您可以将Backbone-relational.js用于嵌套模型,
Backbone-relational.js提供Backbone模型之间的一对一,一对多和多对一关系 Backbone Relation
类
User = Backbone.Relational.Model({
defaults : {
id : '',
name : '',
posts : [], //collection
},
relation : [{
type : 'HasMany',
key : 'posts',
relatedModel : 'com.dw.attendance.model.Post',
reverseRelation : {
key : 'user'
}
}]
});
Post = Backbone.Relational.Model({
defaults : {
id : '',
user : '', //model
comments : '', //collection
title : '',
},
relation : [{
type : 'HasOne',
key : 'user',
relatedModel : 'com.dw.attendance.model.User',
reverseRelation : {
key : 'posts'
}
},{
type : 'HasMany',
key : 'comments',
relatedModel : 'com.dw.attendance.model.Comment',
reverseRelation : {
key : 'post'
}
}]
});
Comment = Backbone.Relational.Model({
defaults : {
id : '',
post : '',//model
text : '',
title : ''
},
relation : [{
type : 'HasOne',
key : 'post',
relatedModel : 'com.dw.attendance.model.Post',
reverseRelation : {
key : 'comments'
}
}]
});
您的数据,对于用户:{id : 1, name : 'john', posts : [1,2,3]};
然后你可以得到任何用户帖子的评论,
user.get('posts').get('post_ID').get('comments');