$anyElementTrue
运算符用来对数组元素进行逻辑判断,如果数组的任何一个元素为true
则返回true
,否则返回false
。空数组返回false
。
语法
{
$anyElementTrue: [ <expression> ] }
<expresssion>
必须是能够被解析为数组的表达式。
使用
- 对于内嵌数组,
$anyElementTrue
值处理顶层元素,不会去判断内嵌数组。 - 除了正常的
false
值外,$anyElementTrue
会将null
、0
和undefined
都认为是false
,其他的值包括非零数值都会被认为是true
。
如:
表达式 | 返回 |
---|---|
{ $anyElementTrue: [ [ true, false ] ] } |
true |
{ $anyElementTrue: [ [ [ false ] ] ] } |
true |
{ $anyElementTrue: [ [ null, false, 0 ] ] } |
false |
{ $anyElementTrue: [ [ ] ] } |
false |
举例
使用下面的脚本创建survey
集合:
db.survey.insertMany([
{
"_id" : 1, "responses" : [ true ] },
{
"_id" : 2, "responses" : [ true, false ] }