缩短MongoDBObject转换
我在mongodb中查询时遇到的一件事是样板代码:缩短MongoDBObject转换,mongodb,scala,casbah,Mongodb,Scala,Casbah,我在mongodb中查询时遇到的一件事是样板代码: def findPagesWithGreaterId(pageid: String, limit: Int): List[Page] = findAsListSortedLimit(MongoDBObject("_id" -> MongoDBObject("$gt" -> new ObjectId(pageid))), MongoDBObject("_id" -> 1), limit) 有没有一种很好的方法可以像上面
def findPagesWithGreaterId(pageid: String, limit: Int): List[Page] =
findAsListSortedLimit(MongoDBObject("_id" -> MongoDBObject("$gt" -> new ObjectId(pageid))), MongoDBObject("_id" -> 1), limit)
有没有一种很好的方法可以像上面的例子那样缩短查询
(我想这并不方便)
有共同的方法吗
提前感谢,
Stefan您可以定义类型别名来缩短类名:
type DBO = MongoDBObject
或者以类似的方式在导入时重命名类:
import com.mongodb.casbah.commons.{MongoDBObject => DBO}
我不太喜欢这些解决方案。更好的办法是使用。它不仅读起来更好,实际上更安全。唯一的缺点是,您必须先定义DB类,然后才能进行查询,但一旦定义了,您的查询将如下所示:
Pages.where(_.id gt new ObjectId(pageid)).orderAsc(_.id).limit(1)
或者类似的:)
查看更多示例