从MongoCursor中检索嵌套元素

时间:2012-10-22 15:34:21

标签: json scala mongodb

我在Scala中查询Mongo数据库并循环返回返回的元素,如下所示:

{ "_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?有没有更好的方法来处理这个?

1 个答案:

答案 0 :(得分:0)

你可以尝试

element.expand[String]("i.skuId")

返回Option[String]