【发布时间】:2013-08-22 02:43:42
【问题描述】:
我对如何在我的 Scalatra 项目中使用 Casbah 从 MongoDB 检索单个文档感到有些困惑。目前,我有一些假设如下所示的代码:
get ("/dogs") {
val collar_id = params.getOrElse("collar_id", 1)
val mongoColl = mongoDb("pets")("dogs")
val o: DBObject = MongoDBObject("collar_id" -> collar_id)
val b = mongoColl.findOne(o)
b.json_document
}
在这种情况下,文档 b 有一个 json_document 字段,其中包含我需要在响应中呈现为 JSON 的所有数据。问题是,我似乎没有在这里使用 Casbah 正确查询 MongoDB。相当于我使用 mongodb 的客户端查询这个的方式是:
db.dogs.findOne({collar_id: 5})
在上面编写我的查询代码以获得类似结果的正确方法是什么?将collar_id 作为字符串或 Int 传递似乎不起作用。返回b.json_document时也会出错:
value json_document is not a member of Option[mongoColl.T]
【问题讨论】:
标签: mongodb scala scalatra casbah