2016-07-01 8 views
0

В Heroku у меня есть 2 приложения. Одно клиентское приложение (использует coffeescript и mongoose) и одно приложение для администратора (использует javascript и mongoskin).Работая в Heroku, могу ли я поделиться коллекцией в Mongodb/mongolab (mlab)?

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

Я нашел некоторые ссылки для обмена базами данных, но хотел бы поделиться только коллекциями в базах данных. Вот некоторые ссылки, которые я нашел, но не проверял правильно, так как она имеет дело с Метеор приложений, а не Heroku: How can I share MongoDB collections between Meteor apps?, DDP between two servers doesn't reconnect, Connect two Meteor applications using DDP

ответ

0

Из 2 Heroku приложения, один из них является «владельцем» базы данных для коллекции, которую вы хотите разделить, и уже предварительно настроена с помощью строки подключения MONGODB_URI для надстройки базы данных. Вам нужно будет вручную настроить 2-ое приложение Heroku с строки подключения для базы данных, содержащей коллекцию, которую Вы хотите поделиться:

https://devcenter.heroku.com/articles/mongolab#connecting-to-existing-mlab-deployments-from-heroku

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

http://docs.mlab.com/connecting/#users

https://docs.mongodb.com/v3.0/core/security-user-defined-roles/

Определенная пользователем роль администратора должно быть сделано через клиента, как в Монго оболочки - интерфейс MLAB не поддерживает их.