【发布时间】:2014-03-18 22:59:59
【问题描述】:
我的问题:我怎样才能拥有一个使用 mongoosejs 的 RESTful mongodb 实例而不发出一百万个 http 请求?
我的设置:我使用NodeJS 和MongooseJS 作为后端。我在前端使用AngularJS,所以我决定使用angular-bridge 重新调整我的MongoDB 数据库。
我的架构:我有以下架构:
注意:箭头的开头表示该对象对箭头末尾的对象有一个引用(例如,comment 有一个owningPost 属性,即@987654329 @参考帖子)。此外,星号 (*) 表示“许多”,因此,一个帖子可以有多个 cmets,但一条评论只引用一个帖子,一个流可以引用多个存储桶,一个存储桶可以有多个流引用它。
问题:假设用户点击代表存储桶的页面。我需要发出以下获取请求:
- 桶
- 用户
- 引用存储桶的每个帖子
- 引用帖子的每条评论
- 每条评论的用户
请求的数量可能会迅速增加。也许我可以在帖子中包含评论,这可能不是问题。但是,我不能对其他所有事情都这样做(并保持清醒)。
我尝试创建一个端点来获取不同属性中的所有数据,例如:
data: {
bucket: {},
user: {},
posts: [
{
post: {},
comments: [
user: {},
comment: {}
]
}
]
}
但是这样就不再平静了……对吧?这使得更新内容有点困难。
我做错了什么?有什么更好的方法来做到这一点?
【问题讨论】:
-
如果您的数据和需求符合关系模型,您可以考虑使用关系数据库而不是 MongoDB。
标签: node.js mongodb angularjs rest mongoose