基本的尝试没什么错,但是这里唯一的澄清可能是普遍的误解,即您需要像$nin
或$in
查询数组时这样的运算符。
另外,您真的需要在这里做一个基本的不等式匹配$ne
:
Person.find({ "groups": { "$ne": group._id } })
“数组”运算符不用于“数组目标”,而是用于提供条件的“列表”以方便的形式进行测试。
Person.find({ "groups": { "$nin": [oneId, twoId,threeId] } })
因此,只需对单个条件使用普通运算符,然后将其保存
$in并
$nin用于要针对单个值或列表测试多个条件的位置。因此,反之亦然。
如果确实需要传递参数的“列表”,其中所提供列表中的参数“没有”与数组的内容匹配,则可以使用$not
运算符和$all
运算符反转逻辑:
Person.find({ "groups": { "$not": { "$all": [oneId,twoId,threeId] } } })
因此,这意味着提供的“列表中的任何一个”都不存在于数组中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)