HomeGuidesAPI Reference
Submit Documentation FeedbackJoin Developer CommunityOptimizely GitHubOptimizely NuGetLog In

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)`.

### 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)`.