Как я могу делиться коллекциями MongoDB между приложениями Meteor?

Я бы хотел иметь приложение для администратора и клиентское приложение для моего проекта. В идеале я хотел бы иметь общую коллекцию MongoDB. Как я смогу это сделать?

Я попытался создать коллекцию с тем же именем в двух разных приложениях, но обнаружил, что Meteor будет хранить данные отдельно. Любая идея, что я могу сделать? Благодарю.

    export MONGO_URL=mongodb://localhost:3002/meteor 

    Затем запустите приложение meteor, оно изменит использование meteorитов базы данных по умолчанию. Поэтому совместное использование баз данных или коллекций не будет проблемой! По административной причине я использовал бы отдельный MongoDB-сервер, управляемый мной, кроме использования встроенного MongoDB от meteor.

    Разумный вопрос и, вероятно, стоит обсудить выше этого ответа:

    Соединение MongoDB обрабатывается самим процессом применения Meteor, и это, насколько я понимаю и понимаю, является частью философии Meteors, ориентированной на подход, который может быть описан как: Один источник данных обслуживает одно приложение, принадлежащее ему, но многие клиенты, подписывающиеся на это .

    Это означает, что предпочтительным способом является объединение клиентов «admin» и «клиент» в одном приложении (т. Е. Ваше приложение Meteor).

    Однако из административного представления сервера соединения Meteor обрабатываются таким образом, что всегда есть локальный источник данных по умолчанию, который находится в каталоге проекта ( .meteor/local/db , попробуйте meteor mongo --url чтобы получить соединение mongo строка, пока выполняется процесс подачи meteorа). Но тем не менее можно указать дополнительную строку источника данных для целей развертывания, как описано в этих инструкциях по развертыванию .

    Таким образом, вам нужно будет выбрать несколько жуткий способ «локального развертывания разработки», чтобы ваша предполагаемая настройка работала. Или вы идете и взламываете источники и … нет, забудьте об этом. Вероятно, вы хотите, чтобы ваше приложение и клиенты использовали, например, обновления в режиме реального времени (публиковать), и поэтому приложение Meteor привязано к «источнику данных приложения» и наоборот. При подключении из другого приложения события, которые вызывают изменения в модели, не будут передаваться через эти приложения. Сам экземпляр mongoDB, разумеется, не знает об этом.

    Я уверен, что основная команда не будет раскрывать подключение источника данных к разделу конфигурации по рассматриваемым причинам, если они не расширят свою архитектуру какой-то концепцией модуля, которая обеспечивает общий уровень обслуживания основной абстракции модели / коллекции по экземплярам Meteor – при в меньшей степени поддерживая осведомленность о событиях публикации / подписания.

    Попробуйте этот DDP-тест, который я взломал вместе, чтобы создать мост для двух приложений (сервер A и B).

    Оба сервера могут управлять данными, но данные хранятся только в одной коллекции на сервере A.

    См. Также эту ссылку

    Давайте будем гением компьютера.