MongoDB中Salat方法的问题:隐式视图&;论据不足

MongoDB中Salat方法的问题:隐式视图&;论据不足,mongodb,scala,casbah,salat,Mongodb,Scala,Casbah,Salat,我对萨拉特、卡斯巴和蒙哥达都是新手。当我试图用一种简单的方法从数据库中获取所有用户时 import DAL.Instances.User.{UserDAO, User} import com.novus.salat._ import com.novus.salat.global._ import com.novus.salat.annotations._ import com.novus.salat.dao._ import com.mongodb.ca

我对萨拉特、卡斯巴和蒙哥达都是新手。当我试图用一种简单的方法从数据库中获取所有用户时

 import DAL.Instances.User.{UserDAO, User}
    import com.novus.salat._
    import com.novus.salat.global._
    import com.novus.salat.annotations._
    import com.novus.salat.dao._
    import com.mongodb.casbah.Imports._
    import com.mongodb.casbah.MongoConnection



    object UserRepository {

        def getAllUsers() = {

        val userList= UserDAO.find()

        userList.isEmpty match {
          case true => throw new Exception("None users in your db")
          case false => userList
        }
}
我面临两个错误:

Error:(29, 31) No implicit view available from Unit => com

.mongodb.DBObject.
        val userList= UserDAO.find()
                                  ^
    Error:(29, 31) not enough arguments for method find: (implicit evidence$2: Unit => com.mongodb.DBObject)com.novus.salat.dao.SalatMongoCursor[DAL.Instances.User.User].
Unspecified value parameter evidence$2.
    val userList= UserDAO.find()
                              ^
这是我的用户代码:

object User {
  case class User( _id: ObjectId = new ObjectId, name:String, age:Int)
  object UserDAO extends SalatDAO[User, ObjectId](collection = MongoConnection()("fulltestdb")("user"))

}

我不确定您使用的是哪个版本的
Salat
,但是如果您查看
find
的签名,它会给您一个关于问题的线索:

def find[DBObject
应在范围内

在您的情况下,您没有传递任何参数。这被视为
Unit
,因此编译器尝试从
Unit=>DBObject
查找隐式转换。找不到该参数,因此编译失败


要解决这个问题,最好的办法是传入一个空的DBObject,您可以使用
MongoDBObject.empty
from实现。您可以添加一个来自
Unit=>MongoDBObject
的隐式转换,但我可能倾向于尽可能使其显式化。

我不确定您使用的是哪个版本的
Salat
u查看
find
的签名,它将为您提供有关问题的线索:

def find[DBObject
应在范围内

在您的情况下,您没有传递任何参数。这被视为
Unit
,因此编译器尝试从
Unit=>DBObject
查找隐式转换。找不到该参数,因此编译失败

要解决这个问题,最好是传入一个空的DBObject,您可以使用
MongoDBObject.empty
from来实现。您可以添加一个来自
Unit=>MongoDBObject
的隐式转换,但我可能倾向于尽可能将其显式化