# Типы коллекций

## Существует публичные и приватные коллекции.

Публичные коллекции, напр. `pokemons`, синхронизируют себя с базой данных `MongoDB` двунаправленно (в обе стороны) - то есть и на чтение, и на запись. Доступ к публичным коллекциям есть у любого пользователя приложения и изменения синхронизируются между всеми пользователями приложения.

Приватные коллекции именуются с , напр. `_pokemons` и существуют только пока не прервался жизненный цикл клиента (например пользователь закрыл приложение на телефоне или перезагрузил страницу в браузере). В StartupJS принято использовать две приватные коллекции - `_session` и `_page`.

`_session` ведет себя как все приватные коллекции по умолчанию, то есть живет пока живет клиент.

`_page` живет пока живет конкретная страница в клиентском роутинге. Например, мы сейчас находимся на странице `/user` и коллекция page существует в рамках этой страницы. Как только мы перейдем на / - коллекция обнулится.

## Параметризация в роутинге.

Параметры в роутинге задаются через двоеточие - `/pokemon/:pokemonId`.
Когда мы вызываем `emit()`, мы можем передать туда значение, которое станет параметром в URL вызываемой страницы, например `emit('url', '/pokemon/' + pokemon.id)`.

На вызванной странице мы можем получить этот параметр для дальнейшего использования при помощи приватной коллекции `$render` по пути `$render.params.НАЗВАНИЕ_ПАРАМЕТРА`, например `$render.params.pokemonId`.
