2016-08-02 2 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을 지정하고 문서를 생성하는 것입니다.

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`)) 
관련 문제