首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala,casbah聚合查询

Scala,casbah聚合查询
EN

Stack Overflow用户
提问于 2016-10-03 19:27:07
回答 1查看 592关注 0票数 0

我是MongoDB和Casbah的新手,我想知道有没有人能帮我。

我有以下可以工作的mongoDB查询,

代码语言:javascript
复制
db.getCollection('holidayRequests').aggregate
(
   [
     {  $match: {  $and: [ { email: "leeroy.jenkins@company.com" } , { status: "APPROVED" } ] }},
      {
          $group:
      {
           _id: {  email: "$email" },
           totalAmount: { $sum: "$daysTaken" }
      }
     }
   ]
);

如何将其转换为casbah驱动程序可以理解的查询?

EN

回答 1

Stack Overflow用户

发布于 2016-10-04 21:35:51

大概是这样的:

代码语言:javascript
复制
import com.mongodb.casbah.commons.MongoDBObject
import com.mongodb.casbah.commons.MongoDBList
import com.mongodb.casbah.MongoClient

object testCasbah {

  val mongoClient = MongoClient() /* database connections parameters */
  val db = mongoClient("databaseName")

  val email  =  MongoDBObject("email" -> "leeroy.jenkins@company.com")
  val status =  MongoDBObject("status" ->  "APPROVED" )

  val and    = MongoDBObject("$and" -> List(email, status))

  val pipeline = MongoDBList(MongoDBObject("$match" -> and)) ++
                 MongoDBList(MongoDBObject("$group" -> 
                    MongoDBObject("_id" -> MongoDBObject("email" -> "$email"), 
                                  "totalAmount" ->  MongoDBObject("$sum" -> "$daysTaken"))))

  db.command(MongoDBObject("aggregate" -> "holidayRequests", "pipeline" -> pipeline))                            

}

应该行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39830497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档