arrays - 如何检查数组中的所有值是否都是相同的 mongodb 聚合?

标签 arrays mongodb aggregation-framework

如何检查数组中的所有值是否都是相同的 mongodb 聚合?假设我有一个数组 ["a","a","a","a","a"]处于聚合阶段。如何使用 mongodb 聚合检查所有值是否相同?
如果对一组对象有不同的方法 [{a:"a",b:"b"},{a:"c",b:"d"}] .如何使用 mongodb 聚合检查数组中所有对象的给定对象属性的所有值是否相同?
我知道在 javascript 中我可以使用 array.every() mongodb 中是否有等价物?

最佳答案

您可以尝试使用 $allElementsTrue :

db.collection.aggregate([
    {
        $project: {
            areSame: {
                $allElementsTrue: {
                    $map: {
                        input: "$key",
                        in: {
                            $eq: [ "$$this", { $arrayElemAt: [ "$key", 0 ] } ]
                        }
                    }
                }
            }
        }
    }
])
Mongo Playground
相同的解决方案应该适用于 objects

关于arrays - 如何检查数组中的所有值是否都是相同的 mongodb 聚合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65005388/

相关文章:

arrays - try catch 加速度计轴

arrays - Polymer 1.0 观察者 - 不在数组上工作

python - 在日期时间的月、日、年...上查询 Mongodb

java - 在elastic或mongodb中存储128位数字

MongoDB stitch-cli 导入失败

MongoDB 查询数组中的对象

node.js - 仅当 mongodb 中的 operationType 为 'update' 时才过滤

Mongodb 聚合意外的数组结果 - 需要从 $lookup 返回一个对象而不是数组

arrays - 如何动态引用Powershell变量

javascript - ASP.Net 数组因 Javascript 函数而失去结构