2016-08-02 44 views
0

在MongoDB查詢中,可以彙總和包含嵌入文檔中的特定字段。MongoDB Scala驅動程序,包括來自嵌入式文檔的特定字段

MongoDB manual部分:包括從嵌入式文檔

特定字段

實施例的查詢:

db.getCollection('test') 
.aggregate([ 
    { $project : { "name" : "$subLevel.name" , _id: 1 } } 
]) 

所以像一個文件:

{ 
    "_id": "id1", 
    "sublevel":{ 
     "name": "name1" 
    } 
} 

被聚集到:

{ 
    "_id": "id1", 
    "name": "name1" 
} 

但是,我找不到使用mongoDB Scala驅動程序執行此操作的選項。 org.mongodb.scala.model.Projections

有人有關於如何做到這一點的想法嗎?

回答

0

解決方法是不使用投影,而是指定它將直接生成的json並使用它創建一個Document。

val project = Document(Json.obj("$project" -> Json.obj("name" -> "$subLevel.name")).toString) 
val `match` = Document(Json.obj("$match" -> Json.obj("name" -> "item1")).toString) 

collection.aggregate(Seq(project, `match`)) 
相關問題