Как лучше всего собирать коллекции в песочнице в метеоре?

Я хочу изолировать данные каждого пользователя от всех других пользователей. Как лучше всего заставить пользователя просматривать и изменять только свои материалы? Мой подход заключался в

  1. Добавьте поле userId в каждую коллекцию
  2. Настройте каждую опубликованную коллекцию для фильтрации по идентификатору пользователя.
  3. Используйте простую схему с collections2 и добавьте autoValue: function(d) { return this.userId } в поле userId для каждой схемы, чтобы указать userId во время проверки.

Это хороший и правильный подход? Что такое лучшая практика?


person dk.    schedule 01.03.2015    source источник


Ответы (3)


@дк. это звучит как хороший подход для меня и также считается лучшей практикой (как и мой опыт работы с метеором).

person Meteorpoly    schedule 01.03.2015

Звучит солидно. На самом деле я использую этот подход в довольно большом проекте, над которым работаю.

person fardeem    schedule 01.03.2015

Я также использую составные коллекции с помощью пакета reywood:publish-composite.

В результате некоторые коллекции не имеют ключей userId, но документы для текущего пользователя выбираются на основе документа из связанной коллекции. Я также имею дело со случаем, когда многие документы являются общими для пользователей.

Это обеспечивает некоторую степень нормализации при очень хорошей работе.

person Michel Floyd    schedule 02.03.2015