2016-11-13 335 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

这对我不起作用。你怎么回事? –