2016-04-22 6 views
0

モンゴを得る3.2 scalaVersion 2.11.7 ベーター-1.3.9単にコレクション全体

だから私は、トラブル単に私がhttp://reactivemongo.org/ページのドキュメントを使用しようとしました

コレクション全体をフェッチを抱えています最初に接続する

def connect() { 
    // gets an instance of the driver 
    // (creates an actor system) 
    val driver = new MongoDriver 
    val connection = driver.connection(List("localhost")) 

    // Gets a reference to the database "plugin" 
    val db = connection("plugin") 

    // Gets a reference to the collection "acoll" 
    // By default, you get a BSONCollection. 
    val collection = db("acoll") 
} 

これまでのところ、私は正しく読んでいれば10の接続があります。

は、その後、私は「単純なクエリ」のドキュメントにあったものを修正しようとしたが、カーソルが[BSONDocument]が廃止されており、私は(私がしたもの)の代わりにカーソル()を使用する必要があることを言ってIntelliJのに出くわしました。

と私はなってしまった。今、私のコントローラで私は道で(Db.connectと接続してい

def getAll(collection: BSONCollection) = { 
val query = BSONDocument() 
val filter = BSONDocument(
    "_id" -> 1 
) 
val futureList: Future[List[BSONDocument]] = 
    collection. 
    find(query, filter). 
    cursor(). 
    collect[List]() 

futureList.map { list => 
    list.foreach { 
    doc => println(s"found document: ${BSONDocument pretty doc}") 
    } 
} 
} 

、DbはDbは、{}、何のアイデアは、私がこれを行うべきではない場合はオブジェクトであり、スカラ、MongoDBの中に新しいの種類や再生)

var collection = Db.connect() 
println("Connected to db : " + collection) 
var list = Db.getAll(collection) 

... 

は問題、Db.connect()BSONCollectionを返すように見えるが、ユニット

いないあなたたちが私に与えることができればだから私は思っていましたヒントか何かを頼む私のようなインナー...

申し訳ありませんが、これはばかな質問のように思えるが、私はそれを一枚あなたのDbがで終わる

おかげ

答えて

0

を構築することができないよう私もマニュアルについて、混乱している場合val宣言。

さまざまなScalaチュートリアルを見ると、この関数がUnitを返すことを意味します。

ローカルに割り当てるのではなく値を返す場合は、最後の行をdb("acoll")とするだけで宣言を削除する必要があります。

次に、関数getAllには同じ誤解があります。

futureList.map { list => 
    list.foreach { 
    doc => println(s"found document: ${BSONDocument pretty doc}") 
    } // foreach = Unit 
} // so there's Future[Unit] 

connection("plugin")を使用してDBの解像度は(別名MongoConnection.apply)廃止され、推奨されています。

あなたはReactiveMongoに深く行くことをお勧めします。

関連する問題