Json 从MongoCursor检索嵌套元素
我在Scala中查询Mongo DB并循环返回元素,如下所示:Json 从MongoCursor检索嵌套元素,json,scala,mongodb,Json,Scala,Mongodb,我在Scala中查询Mongo DB并循环返回元素,如下所示: { "_id" : "123:1350918540586068000:v" , "i" : { "vendorStyle" : "coolStyle" , "createdAt" : 1350918540580 , "productId" : "product123" , "skuId" : "123" } } 我的问题是:如何从skuId检
{ "_id" : "123:1350918540586068000:v" ,
"i" : {
"vendorStyle" : "coolStyle" ,
"createdAt" : 1350918540580 ,
"productId" : "product123" ,
"skuId" : "123"
}
}
我的问题是:如何从skuId检索值?我知道您可以在Mongo中的“find”方法中使用表示法parent.child,但在读取结果DBObject时,这不起作用
代码如下:
val elems = SkuStorage.collection.find(MongoDBObject("i.productId" -> productId))
elems.toSeq.map { element=>
readSkuById(element.get("i.skuId")) //breaks!
}
我是否需要获取(“I”)然后将字符串解析为JSON?有没有更好的方法处理这个问题?你可以试试
element.expand[String]("i.skuId")
它返回
选项[String]
您是否尝试调用get(“i”).get(“skuId”)?是的,get(“i”)给出了一个字符串,因此您无法在其上执行。get(“…”)。Hmmm。。。看起来我无法进行扩展。扩展:值扩展不是com.mongodb.casbah.package.DBObjectimport com.mongodb.casbah.Implicits的成员_