【发布时间】:2012-04-30 14:06:50
【问题描述】:
我知道 MongoDB 中的对象可以包含多个级别的数据(就像 JSON 对象一样)。但是,Casbah 驱动程序教程仅涵盖“平面”对象的创建,其中只有一层数据。如何使用 Casbah 创建和使用多级对象?
【问题讨论】:
我知道 MongoDB 中的对象可以包含多个级别的数据(就像 JSON 对象一样)。但是,Casbah 驱动程序教程仅涵盖“平面”对象的创建,其中只有一层数据。如何使用 Casbah 创建和使用多级对象?
【问题讨论】:
它非常直观。
建设:
val a: MongoDBOBject = DBObject("a" -> DBObject("b" -> "c"))
// results in { "a" : { "b" : "c"}}
访问内部字段with dot notation:
val c = a.expand[String]("a.b")
将内部对象检索为 DBObject,因此您可以对其进行与父对象相同的操作:
val b = a.as[DBObject]("a")
【讨论】:
import com.mongodb.casbah.commons.Imports._。这将导入 DBObject、MongoDBObject 和隐式转换函数。我在 casbah 文档的某个地方读到过。
.as[] 工作?我需要.asInstanceOf[]。是一样的吗?
apply() + asInstanceOf[]