Looking through the list here: https://www.mongodb.com/docs/atlas/atlas-search/operators-and-collectors/
I don’t see any operators that could be used to query if a field is “not null” (or “not equal” to null). Am I mistaken?
Hi,
Since null
is a valid value, you can leverage operator $ne
:
db.collection.aggregate([
{
"$match": {
"field": {
"$ne": null
}
}
}
])
This is not directly available within the $search
stage to my knowledge. There’s also the associated feedback engine post for your request which you can vote for in the meantime.
You could possibly perform the $search
stage first as per normal followed by a $match
stage using the $ne
operator (As Nenad has mentioned) if it suits your use case although I do understand that this would not make use of any indexes (for the $match
stage that’s after the $search
stage).
Regards,
Jason
Thanks @NeNaD and @Jason_Tran – indeed, using a $match right after the $search stage is exactly what I ended up doing in the end. : )
I realized that I was approaching it the wrong way – I shouldn’t be trying to filter on non-text parameters inside the $search stage (which would be primarily for text-based searching).
This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.