【问题标题】:Retrieving nested element from MongoCursor从 MongoCursor 检索嵌套元素
【发布时间】:2012-10-22 15:34:20
【问题描述】:

我在 Scala 中查询 Mongo DB 并遍历返回的元素,如下所示:

{ "_id" : "123:1350918540586068000:v" , 
    "i" : { 
        "vendorStyle" : "coolStyle" , 
        "createdAt" : 1350918540580 , 
        "productId" : "product123" , 
        "skuId" : "123"
    }
}

我的问题是:如何从 skuId 检索值?我知道您可以在 Mongo 的“查找”方法中使用符号 parent.child,但是从生成的 DBObject 读取时这不起作用

这是代码:

val elems = SkuStorage.collection.find(MongoDBObject("i.productId" -> productId))
elems.toSeq.map { element=>
    readSkuById(element.get("i.skuId")) //breaks! 
}

我需要去 get("i") 然后将字符串解析成 JSON 吗?有没有更好的处理方法?

【问题讨论】:

  • 你试过调用 get("i").get("skuId") 吗?
  • 是的,get("i") 给出了一个字符串,所以你不能对它执行 .get("...")。

标签: json scala mongodb


【解决方案1】:

你可以试试

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

它返回Option[String]

【讨论】:

  • 嗯...看起来我不能做 .expand: value expand is not a member of com.mongodb.casbah.package.DBObject
  • 导入 com.mongodb.casbah.Implicits._
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 2016-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-09
相关资源
最近更新 更多