Скажем, у меня есть приложение todo, и я хочу убедиться, что каждый пользователь, который регистрируется, имеет по крайней мере одно todo для начала, что-то вроде "First todo to off off!", как бы я сделал это в метеор?
В общем, как я его вижу, я могу сделать это, когда пользователь создается впервые (идеально) или проверяет, нужно ли им новое todo при каждом входе в систему (менее идеально). В последнем случае я могу выполнить проверку для Todos.findOne()
, и если счетчик равен 0, добавьте его. Однако кажется, что если я делаю это в своем маршрутизаторе при загрузке страницы или в какой-либо функции шаблона .rendered
, коллекция, которую я проверяю, еще не загружена, поэтому я всегда создаю новое todo, даже если действительно существует. Так что было бы здорово, если бы кто-нибудь мог объяснить, как обойти это.
Но в идеале я хотел бы просто создать новый Todo, когда пользователь будет создан. Существует метод Accounts.onCreateUser
, но он используется для добавления дополнительной информации в профиль пользователя, а не для созданного крюка. Там также есть способ программно создать пользователя с помощью Accounts.createNewUser
с обратным вызовом, но я использую пакет учетных записей ui, поэтому я не программно добавляю пользователей. В менее идеальном случае я мог проверять Todo всякий раз, когда пользователь входит в систему, но даже в этом случае, похоже, существует логический вход Accounts.loginWithXService
, поэтому не уверен, как обрабатывать обратный вызов, когда какой-либо пользователь входит в систему, независимо от того, типа обслуживания.
Думаю, я должен пропустить что-то простое, поэтому извиняюсь, если это супер очевидно. Любая помощь приветствуется.