Loopback API-соединение с MongoDB Atlas - PullRequest
0 голосов
/ 13 июня 2019

Я создал API с помощью Loopback, и он отлично работал с MongoDB на LocalHost. Я сейчас пытаюсь переключить его, чтобы использовать MongoDB Atlas (онлайн).

Я запустил lb datasource и заполнил все, и теперь это мой datasources.json файл:

{
  "db": {
    "host": "fishapi-cxtvd.mongodb.net",
    "port": 0,
    "url": "mongodb+srv://admin:********@fishapi-cxtvd.mongodb.net/test?retryWrites=true&w=majority",
    "database": "admin",
    "password": "********",
    "name": "MyMongoDB",
    "user": "admin",
    "useNewUrlParser": true,
    "connector": "mongodb"
  }
}

Я также попытался переформатировать его (как предложено в другом вопросе о переполнении стека), поэтому оно выглядит так:

{
  "db": {
    "url": "mongodb+srv://admin:********@fishapi-cxtvd.mongodb.net/test?retryWrites=true&w=majority",
    "name": "FishAPI",
    "connector": "mongodb"
  }
}

Это ошибка, которую я получаю при каждом запуске:

MongoParseError: Cannot create data source "db": Cannot initialize connector "mongodb": URI does not have hostname, domain name and tld

У кого-нибудь есть предложения по поводу того, что мне нужно изменить, чтобы правильно подключить? Любая помощь приветствуется, поскольку я впервые использую Loopback и MongoDB!

1 Ответ

0 голосов
/ 17 июня 2019

Используете ли вы последнюю версию loopback-connector-mongodb?

В сообщении об ошибке указывается, что соединитель (или базовая клиентская библиотека MongoDB) не может выполнить синтаксический анализ url.Возможно, схема mongodb+srv:// не поддерживается используемой версией?

Насколько я могу судить, поддержка mongodb+srv:// URL-адресов была добавлена ​​относительно недавно (в апреле 2019 г.), см. Запрос на извлечение https://github.com/strongloop/loopback-connector-mongodb/pull/497. Изменение было выпущено в мае как часть loopback-connector-mongodb@4.2.0.Пожалуйста, обновите ваш проект, чтобы использовать последнюю версию соединителя.

В качестве альтернативы, вы можете попробовать использовать mongodb://.Согласно этой записи в блоге MongoDB , mongodb+srv был добавлен в версии 3.6 для упрощения настройки начального списка, используемого для подключения к кластеру серверов MongoDB.Согласно сообщению, должна быть возможность заменить mongodb+srv:// URL, содержащий один хост, на mongodb:// URL, содержащий несколько хостов.

...