play-реактивный монго, имеющий дело с индексами

Я обнаружил, что для создания индекса в коллекции я должен использовать indexesManager:

collection.indexesManager.ensure(...)

Я хотел бы знать, какое место подходит для вызова этой функции.

Я поместил этот вызов в функцию контроллера, который выполняет вставку документов в коллекцию, и он работает. Но я думаю, что нет необходимости вызывать эту функцию при каждой вставке.

Есть ли способ сделать этот вызов только один раз при инициализации БД?

Спасибо

1 ответ

В reactivemongo 2.11вы должны иметь возможность получить текущий экземпляр базы данных следующим образом:

val db = current.injector.instanceOf[ReactiveMongoApi].database

Обратите внимание, что эта строка вернет вам Future[DefaultDB], Затем вы можете делать то, что вы хотите, просто отображая это будущее:

db.map(_.collection("myCollection")))

Другие вопросы по тегам