ReactiveMon go подключиться к MongoConnectionOptions - PullRequest
0 голосов
/ 19 июня 2020

Я подключался к своей MongoDB, используя MongoConnectionOptions в reactivemon go version 0.15.x. Теперь я обновился до 0.20.11.

Функция apply() сопутствующего объекта MongoConnectionOptions устарела. В предупреждении об устаревании предлагается использовать конструктор MongoConnectionOptions. К сожалению, этот конструктор является частным для пакета.

Я не хочу использовать устаревшую функцию apply в основном потому, что мои параметры компилятора scala не допускают предупреждений. (И я действительно не хочу это менять).

Официальная документация объясняет только устаревшую версию: http://reactivemongo.org/releases/0.1x/documentation/tutorial/connect-database.html

Как я могу подключиться к база данных с использованием параметров подключения?

Ответы [ 2 ]

1 голос
/ 20 июня 2020

Завод MongoConnectionOptions(..) будет переработан в следующем основном выпуске 1.0.x.

В любом случае, вы можете использовать .default + .copy(..):

import reactivemongo.api.MongoConnectionOptions

MongoConnectionOptions.default.copy(appName = "Foo")

Более того, параметры могут быть подготовлены (из файла конфигурации или программно) в виде строки URI.

val host = "localhost"
val port = 27017

reactivemongo.api.MongoConnection.connect(s"mongodb://${host}:${port}")
0 голосов
/ 25 июня 2020

Я использую следующий синтаксис, и он мне подходит:

val host = "localhost"
val port = "27017"
val db_name = "test"
val mongoUri = "mongodb://" + host + ":" + port + "/" + db_name
val driver = new AsyncDriver
val database = for {
  uri <- MongoConnection.fromString(mongoUri)
  con <- driver.connect(uri)
  dn <- Future(uri.db.get)
  db <- con.database(dn)
} yield db

val bsonCollection: Future[BSONCollection] = database.map(_.collection(collectionName))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...