Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Casbah[Scala]查询深度嵌套的MongoDB对象_Mongodb_Scala_Casbah - Fatal编程技术网

使用Casbah[Scala]查询深度嵌套的MongoDB对象

使用Casbah[Scala]查询深度嵌套的MongoDB对象,mongodb,scala,casbah,Mongodb,Scala,Casbah,对于样本阵列中的每个样本,我需要提取阵列加速度。我编写了以下代码 {'_id': ObjectId('589df735be9fa2077dc5bb2e'), 'name': 'train.2', 'samples': [{'processed': {'eulerAngles': [1.946705159018607, -0.01405100477972897,

对于样本阵列中的每个样本,我需要提取阵列加速度。我编写了以下代码

{'_id': ObjectId('589df735be9fa2077dc5bb2e'),
 'name': 'train.2',
 'samples': [{'processed': {'eulerAngles': [1.946705159018607,
                                            -0.01405100477972897,
                                            0.02015610032297892]},
              'raw': {'accel': [0.01548936311155558,
                                0.0002011665492318571,
                                0.02126962691545486],
                      'gyro': [0.06626824289560318,
                               0.1328225582838058,
                               0.001385239884257317]},
              'timestamp': '2017-02-10T17:24:04.283Z'},
             {'processed': {'eulerAngles': [1.948553665755181,
                                            -0.01403613777322358,
                                            0.01932380767991558]},
              'raw': {'accel': [0.01380419824272394,
                                -0.001462434651330113,
                                0.01273023523390293],
                      'gyro': [0.09209229052066803,
                               0.07342914491891861,
                               0.01548820454627275]},
              'timestamp': '2017-02-10T17:24:04.293Z'}}]}
val el=db(“样本”).findOne(MongoDBObject(“名称”->name))
var t_series_seq:Array[Array[Double]]=Array()

对于(m好吧,Casbah文档真的很糟糕。实际上,我是通过阅读Scala数据科学中专门使用MongoDB和Scala的一章得到这个结论的

我的代码如下:

    val el = db("samples").findOne(MongoDBObject("name" -> name))
    var t_series_seq: Array[Array[Double]] = Array()
    for (m <- el.get("samples")) t_series_seq :+ m("raw")("accel")
val dbSamples=db(“样本”).find(MongoDBObject(“名称”->name))
var TimeSeries:Array[TimeSeries]=Array()
为了
val dbSamples = db("samples").find(MongoDBObject("name" -> name))
var timesSeries: Array[TimeSeries] = Array()
for (s <- dbSamples) {
  var tSeries_seq: Array[Array[Double]] = Array()
  val measures = s.getAs[List[DBObject]]("samples").get
  for (m <- measures) {
    println(m.getAs[DBObject]("raw").get.getAs[List[Double]]("accel").get.toArray)
    tSeries_seq = tSeries_seq :+ m.getAs[DBObject]("raw").get.getAs[List[Double]]("accel").get.toArray
  }
  timesSeries = timesSeries :+ new TimeSeries(tSeries_seq, s.getAs[Integer]("valid").get)
}
timesSeries