私はPlay 2.5.4とReactiveMongoを使用してPlay/Scalaアプリケーションを作成しています。 this exampleに基づいて、私はReactiveMongoでコレクションを取得する慣習的な方法
class SettingStore(val mongo:ReactiveMongoApi) {
def collection = mongo.db.collection[BSONCollection]("Settings")
// more code...
}
がしかし、db
が廃止されて使用してコレクションを取得しています。非推奨警告ではdatabase
を使用することをお勧めしますが、この操作はすべてFuture
を返します。すべての操作をマップする必要があります。 ReactiveMongoの操作もFuture
を返すので、これは冗長なようです...コレクションを取得する適切な方法は何ですか? (または、私は完全に何かが欠けているとFuture[Future[Future[A]]]
が将来あるのですか?)
あなたは '.flatMap()'または 'for comprehension'を使用する必要があります –
ありがとうございました。しかし、 '' db [ - mongo.database](db < - mongo.database)のyield db.collection ['' BSoCollection]( '' GeoMaps '')は未来[BSONCollection]を生成しています...これは間違っていますか? –
はい。あなたは腹が立っています。しかし、私は控えめな問題はありません。 'Future [BSONCollection]'あなたは別の 'Future [T]'に '.map()'することができます。 'Action'では、' .async() 'を' Future [Result] 'の結果と一緒に使うことができます。示された例では、すべての結果は 'Future [T]'/ –