2016-11-13 98 views
0

我是新來的mongodb和scala,我目前使用Casbah作爲我的驅動程序來連接兩個玩框架之間的接口。我找不出什麼數據類型 由collection.find()返回。我試圖創建一個返回collection.find()的結果的函數,我需要指定返回類型。MongoCollection.find()返回什麼數據類型?

文檔和我的IDE都是相互矛盾的。例如:

val collection = MongoClient("localhost", 27017)("databaseName")("collectionName") 

我相信上面的集合是MongoCollection。但是,數據類型由

collection.find() 

我想寫以下返回:

def getAllDocumentsInCollection(collectionName:String): DBCursor = { 
    val collection = getCollection(collectionName) 
    collection.find() 
    } 

編譯器破口大罵以上說的返回類型爲collection.CursoryType,但我不知道如何找到集合.CursorType。導入collection.CursorType不起作用。

書籍「Scala for Data Science」中的文檔說yes yes collection.find()返回collection.CursoryType,但由於我上面陳述的原因以及Casbah的文檔說它是DBCursor類型,不會編譯,因爲我的IDE說它的類型爲collection.CursorType。我要去這裏圈...

卡斯巴文件 http://api.mongodb.com/scala/casbah/2.1.2/scaladoc/com/mongodb/casbah/MongoCollection.html

斯卡拉蒙戈文件 https://books.google.com/books?id=NV8dDAAAQBAJ&pg=PA178&lpg=PA178&dq=type+collection.CursorType+scala&source=bl&ots=nx0tnnUw3z&sig=3BNzcU_46VBdl7hv1f-C0SELAY4&hl=en&sa=X&ved=0ahUKEwjmhoiC0abQAhVI8IMKHQeEAgsQ6AEIGzAA#v=onepage&q=type%20collection.CursorType%20scala&f=false

斯卡拉版本: 2.11.17

卡斯巴版本: 3.1.1

我正在通過激活器運行play和scala。

+0

在我心中的深處,我知道它在工作中的斯卡拉魔法。 –

回答

0

你用什麼版本的scala?看來,你使用如此舊版的casbah,如果可以的話,最好更新它。我什至不能find casbash in maven repository

+0

scala 2.11.17和casbah 3.1.1 –

+0

所以,看起來像它返回MongoCursor:'val findAll:MongoCursor = collection.find()' – bynull

+0

這對我不起作用。你怎麼回事? –

相關問題