MongoDB Scala驱动程序包括嵌入式文档中的特定字段

时间:2016-08-02 13:22:00

标签: mongodb scala mongodb-query

在MongoDB查询中,可以聚合并包含嵌入文档中的特定字段。

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

有人知道如何做到这一点吗?

1 个答案:

答案 0 :(得分:0)

解决方法是不使用Projections,而是指定它将直接生成的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`))