官方MongoDB Scala驱动程序,总计数为1



我使用的是官方的mongo scala驱动程序:http://mongodb.github.io/mongo-scala-driver/.

我想做这样的查询:

db.test.aggregate([{"$group" : {_id:{name:"$name",details:"$details.id"}, count:{$sum:1}}}, {$sort:{"count":-1}} ])

所以在scala代码中我正在做:

collectionDoc.aggregate(List(
group(Document("name" -> "$name", "details" -> "$details.id"), Accumulators.sum("count", "1")),
)).toFuture()

但在我看到的所有结果中:

(count,BsonInt32{value=0}))

从mongo驱动程序日志我看到它的发送:

{
"aggregate": "test",
"pipeline": [
{
"$group": {
"_id": {
"name": "$name",
"details": "$details.id"
},
"count": {
"$sum": "1"
}
}
}
],
"cursor": {
"batchSize": 2147483647
},
"$db": "my-db",
"$readPreference": {
"mode": "primaryPreferred"
}
}

如果我在mongo中进行此查询,它会对这些记录进行计数。。知道怎么解决这个问题吗?

谢谢!

一个愚蠢的错误。我输入了标量代码"1"而不是1。在将配置文件级别设置为2之后,我发现了这个问题,并比较了这两个查询。

最新更新