我正在使用MongoDB,并且具有以下人员收集模式:
Person {
age: [number]
}
我想检查一个人的年龄是否存在于数组中,例如[15,20,12,0]。我需要类似 $ in 的运算符,但相反。
模式:
initiatives : {
ressources: [
{ departement: ObjectId }
{ departement: ObjectId }
]
)
答案 0 :(得分:1)
Person.find({ $expr: { $in: [ "$age", [15, 20, 12, 0] ] } })
编辑:要比较需要$setIntersection和$size运算符的数组,请尝试:
Person.find({
$expr: {
$gt: [
{
$size: {
$setIntersection: [
[
"15",
"a",
"12",
"0"
],
"$age.x"
]
}
},
0
]
}
})