这是一个非常简单的数据示例。
[
{
"aaa": true,
"bbb": 111,
},
{
"aaa": false,
"bbb": 111,
}
]
Run Code Online (Sandbox Code Playgroud)
那么,应该执行什么查询才能得到这样的结果呢?
[
{
"_id": "0",
"bbb_sum": 222,
"aaa_and": false,
"aaa_or": true
}
]
Run Code Online (Sandbox Code Playgroud)
实际上,我尝试过这样的查询
db.collection.aggregate([
{
"$group": {
"_id": "0",
"bbb_sum": {
"$sum": "$bbb"
},
"aaa_and": {
"$and": ["$aaa", true]
},
"aaa_or": {
"$or": ["$aaa", false]
}
}
}
])
Run Code Online (Sandbox Code Playgroud)
但 Mongo Playground 抱怨说query failed: (Location40237) The $and accumulator is a unary operator,这很令人困惑。
您还可以在这里找到这个简单的测试用例https://mongoplayground.net/p/8dqtXJ93vIx
另外,我在 Google 和 Stackoverflow 上搜索过类似的问题,但找不到。
提前致谢!
mongodb ×1