[英]Scala, casbah aggregate query
我是MongoDB和Casbah的新手,我想知道是否有人可以幫助我。
我有以下有效的mongoDB查詢,
db.getCollection('holidayRequests').aggregate
(
[
{ $match: { $and: [ { email: "leeroy.jenkins@company.com" } , { status: "APPROVED" } ] }},
{
$group:
{
_id: { email: "$email" },
totalAmount: { $sum: "$daysTaken" }
}
}
]
);
我如何將其轉換為casbah驅動程序可以理解的查詢?
像這樣:
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))
}
應該管用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.