我的问题:如何使用MongooseJS创建一个RESTful的MongoDB实例,而不需要进行大量的HTTP请求?
我的设置:我正在使用NodeJS作为后端,并使用MongooseJS。在前端,我使用AngularJS,因此我决定使用angular-bridge来将我的MongoDB数据库转换为RESTful API。
我的模式:我有以下模式:
注意:箭头的起点表示该对象引用了箭头末端的对象(例如,comment具有一个owningPost属性,该属性是指向post的ObjectID引用)。另外,星号(*)表示“多个”,因此,一个post可以有许多comments,但是一个comment只引用一个post,一个stream可以引用许多buckets,而一个bucket可以有许多streams引用它。问题:假设用户点击代表bucket的页面。我需要进行以下获取请求:
1. Bucket 2. User 3. 引用bucket的每篇post 4. 引用post的每个comment 5. 每个comment的用户
请注意,请求的数量可能会迅速增加。也许我可以将comment包含在post中,这可能不是问题。然而,对于其他所有内容(并保持理智),我无法这样做。
我尝试创建一个端点,以获取不同属性中的所有数据,例如:
data: {
bucket: {},
user: {},
posts: [
{
post: {},
comments: [
user: {},
comment: {}
]
}
]
}
但这样就不再是RESTful了,对吧?这会使更新内容变得有些困难。
我做错了什么?有更好的方法吗?