我想获取一些文档,其中某个字段可能是$in
一些数组(如果设置了过滤器,则为条件查询)。
但是,我还需要无条件检查此相同字段是否为$ne: null
。我知道$in: [some values]
可用于防止检索null,但是问题在于查询的一部分是基于是否设置过滤器的条件。
是否有更有效的方法来进行以下操作?那会行吗?
db.Parents.fetch({
childId: { $in: childIds },
childId: { $ne: null }
});
最佳答案
使用$and运算符
db.Parents.fetch({
$and:[
{childId: { $in: childIds }},
{childId: { $ne: null }}
]
});