2

ScalaでMongoDBにクエリを実行し、返された要素をループしています。これは次のようになります。

{ "_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! 
}

get( "i")に移動してから、文字列をJSONに解析する必要がありますか?これを処理するためのより良い方法はありますか?

4

1 に答える 1

0

あなたは試すことができます

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

戻りますOption[String]

于 2012-10-22T15:45:10.747 に答える