Ste*_*efK 6 arrays aggregate match mongodb is-empty
我在 MongoDB 中有一个集合,其中包含一个字段“events”,它是一个数组。我需要为此编写一个聚合查询来检查事件数组不为空,但找不到方法来执行此操作。
我想要这样的东西:
db.collection.aggregate([
{
$match: {
events: {
"$empty": false
}
}
}
]);
Run Code Online (Sandbox Code Playgroud)
Ste*_*efK 15
经过一番挖掘并尝试了几个选项(包括令人讨厌的 $gte: 0 的 $size 项目,然后在该投影字段上进行匹配),我最终发现以下内容是有意义的并且实际上有效:
db.collection.aggregate([
{
$match: {
"events.0": {
"$exists": true
}
}
}
]);
Run Code Online (Sandbox Code Playgroud)