Use filters to narrow down search results, or use them for database-like queries.Â
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.
Note
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.
## Match 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)
`.
## Existence
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)
`.