2015-06-28 2 views
1

Я использую SailsJS/Waterline ORM с Mongo DB. Это приложение реального времени, так что sails sockets.io pub/sub используется сильно.SailsJS - Связанные записи против встроенной коллекции

У меня есть несколько примеров в моем приложении, которые требуют ассоциаций «многие-ко-многим» и «многие-к-одному».

Я уверен, что смогу достичь взаимосвязи со встроенными коллекциями, однако ассоциации с водой являются немного более чистыми (например, Access to publishAdd()).

Вопрос: что лучше всего (для моего текущего стека) для подключения/связывания данных (встроенных или связанных)? Возникает ли поражение производительности связанными записями из-за дополнительных запросов?

ответ

0

Задайте себе следующие вопросы:

1. Я собираюсь просто создать/Прочитайте эти Associated или закладные коллекции?

ИЛИ

2. Нужно ли мне требуется много обновление/удаление операций на этих собраниях?

  1. Если ваш ответ более склонен к Q1, тогда можно использовать встроенные коллекции. Они быстрее делают доступ, запрашивая только одну коллекцию за раз. Его также проще реализовать.

НО

Если ваш ответ более склонны к Q2, то ассоциации, что вам нужно. Есть много преимуществ этого подхода:.

  1. Update/Delete операции не требуют обновления/удалений внедренного документа во всех коллекциях его встроенных в

  2. Поскольку вы используете гнезда сильно, ассоциация поможет с уведомлением об изменениях в модели через сокеты более организованным образом.

  3. Каждая встроенная коллекция будет иметь свою собственную модель и, следовательно, ее собственную структуру, которая делает код более организованным, более удобным и понятным.

Не стесняйтесь добавлять свои собственные указатели, если в ходе реализации вы найдете больше за и против. Удачи!

Смежные вопросы