Как подключить mongodb. Atlas к shopker на хостинге?



  • На хостинге приложение установилось обычным способом + mongo.db хостинга. Но как подключить бесплатную cloud.mongo.db?

    Что нужно изменить в настройках?

    doctrine_mongodb.yaml

    doctrine_mongodb:
        auto_generate_proxy_classes: '%kernel.debug%'
        auto_generate_hydrator_classes: '%kernel.debug%'
        connections:
            default:
                #server: 'mongodb://%mongodb_user%:%mongodb_password%@%mongodb_server%:%mongodb_port%'
                server: 'mongodb://%mongodb_server%:%mongodb_port%'
                #server: '%mongodb_uri%'
                
            
                options: {}
        default_database: '%mongodb_database%'
        document_managers:
            default:
                auto_mapping: true
                mappings:
                    App:
                        is_bundle: false
                        type: annotation
                        dir: '%kernel.project_dir%/src/App/Document'
                        prefix: App\Document\
                        alias: App
                    AppMainBundle:
                        is_bundle: true
                        type: annotation
                        dir: 'Document'
                        prefix: App\MainBundle\Document\
                        alias: AppMainBundle
                    ImportExportBundle:
                        is_bundle: true
                        type: annotation
                        dir: 'Document'
                        prefix: Andchir\ImportExportBundle\Document\
                        alias: ImportExportBundle
    

    В mongodb atlas создан claster c бд. В connection есть link

    mongodb+srv://user:<password>@db1-qtnpj.azure.mongodb.net/test?retryWrites=true&w=majority
    

    но если этот link добавить в конфиг с данными user и pass, то mongo не подключается.

    Также не совсем ясно, как настроить accsess mongocloud так, чтобы сайт был виден всем пользователям, т.к. там есть привязка к ip, а он у меня динамический.



  • Для URI вот пример есть:

    server: '%mongodb_uri%'
    

    Эту строку нужно раскомментировать (убрать #), а остальные варианты закомментировать или убрать. Саму URI подключения нужно вставить в админке в настройках или в файле /config/settings.yaml (mongodb_uri). После редактирования любых конфигов нужно очистить кэш - удалить папку "/var/cache/prod" или нажать кнопку в админке.

    Если меняете базу данных после того как сайт установили, то нужно перенести данные из старой БД в новую или заново установить приложение. Если нужно заново установить, то нужно просто очистить содержимое файла /config/settings.yaml (сделать пустым) и очистить кэш. Далее в процессе установки вставить новую URI подключения БД.

    Также не совсем ясно, как настроить accsess mongocloud так, чтобы сайт был виден всем пользователям, т.к. там есть привязка к ip, а он у меня динамический.

    Не понял что такое "accsess mongocloud".

    Использование удаленной БД (на другом сервере) не рекомендуется, т.к. сайт будет значительно медленнее работать.


Авторизуйтесь, чтобы ответить