MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

controlla se un valore di campo esce nell'array - MongoDB

Puoi utilizzare $expr con $in :

Person.find({ $expr: { $in: [ "$age", [15, 20, 12, 0] ] } })

EDIT:per confrontare gli array è necessario $setIntersection e $size operatori, prova:

Person.find({
    $expr: {
        $gt: [
            {
                $size: {
                    $setIntersection: [
                        [
                        "15",
                        "a",
                        "12",
                        "0"
                        ],
                        "$age.x"
                    ]
                }
            },
            0
        ]
    }
})