Skip to main content
The $mustNot operator excludes documents that match any of the specified conditions. It acts as a filter, removing matching documents from the result set. The $mustNot operator only filters results—it never adds documents to the result set. This means it must be combined with $must or $should to define which documents to search. A query with only $mustNot returns no results because there is no base set to filter:

Excluding Multiple Conditions

When $mustNot contains multiple conditions (via array or object), documents matching ANY of those conditions are excluded. This is effectively an OR within the exclusion:

Examples