Мой вопрос: Как я могу создать экземпляр RESTful mongodb, который использует mongoosejs без миллиона запросов HTTP?RESTful Mongoose с ссылками ObjectID
Моя установка: Я использую NodeJS для бэкэнд с MongooseJS. Я использую AngularJS на интерфейсе, поэтому я решил использовать angular-bridge для восстановления моей базы данных MongoDB.
Мои Schemas: У меня есть следующая схема:
Примечание: Начало стрелки обозначает, что объект имеет ссылку на объект в конце стрелки (для Например, comment
имеет свойство owningPost
, которое является ссылкой ObjectID
). Кроме того, звездочки (*) означают «много», поэтому сообщение может иметь много комментариев, но комментарий ссылается только на одно сообщение, а поток может ссылаться на многие ведра, а в ведро может быть много потоков, ссылающихся на него.
Вопрос: Предположим, пользователь попал на страницу, представляющую ведро. Мне нужно сделать следующие запросы ПОЛУЧАЕТЕ:
- Ковш
- Пользователь
- Каждый пост, который ссылается на ведре
- Каждый комментарий, который ссылается на пост
- Пользователь для каждого комментария
Количество запросов может быстро взорваться. Возможно, я мог бы оставить комментарий, содержащийся в сообщении, это может быть не проблема. Однако я не могу этого сделать для всего остального (и оставаться в здравом уме).
Я попытался сделать конечную точку, которая получает все данные в различных свойств, как:
data: {
bucket: {},
user: {},
posts: [
{
post: {},
comments: [
user: {},
comment: {}
]
}
]
}
Но это не больше успокоительное ... Правильно? Это делает обновление немного сложнее.
Что я делаю неправильно? Что это лучший способ сделать это?
Если ваши данные и требования соответствуют реляционной модели, вы можете использовать реляционную базу данных вместо MongoDB. –