Use filters to narrow down search results, or use them for database-like queries.
## How it works
You can use the Filter method to filter enum and nullable enum fields in a couple of ways, as shown in the following use cases and examples.
Currently, there is support only for filtering by exact matching of values for `
enums`. That is, bitwise comparison for `
enum` types that have the `
Flags` attribute is not baked into the `
Match` method but must be done explicitly.
### Matching by value
For exact matching, use the `
Match` method. The following search matches blog posts whose `
PublishState` property is a specific enum value. The LINQ equivalent is `
Where(x => x.PublishState == PublishState.Published)`.
To search for documents where an `
enum` field has a value, use the `
Exists` method. The following search finds blog posts that has an `
Approved` property with a value. In other words, the following code is similar to the LINQ query `
Where(x => x.PublishState.HasValue)`.