Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 6aee06f

Browse files
avoid context capturing
1 parent 64b0635 commit 6aee06f

File tree

2 files changed

+14
-18
lines changed

2 files changed

+14
-18
lines changed

‎src/MongoDB.Driver/Search/OperatorSearchDefinitions.cs‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ private protected override BsonDocument RenderArguments(RenderArgs<TDocument> ar
457457
internal sealed class TextSearchDefinition<TDocument> : OperatorSearchDefinition<TDocument>
458458
{
459459
private readonly SearchFuzzyOptions _fuzzy;
460-
private readonly MatchCriteria? _matchCriteria;
460+
private readonly string _matchCriteria;
461461
private readonly SearchQueryDefinition _query;
462462
private readonly string _synonyms;
463463

@@ -470,25 +470,25 @@ public TextSearchDefinition(
470470
_query = Ensure.IsNotNull(query, nameof(query));
471471
_fuzzy = options?.Fuzzy;
472472
_synonyms = options?.Synonyms;
473-
_matchCriteria = options?.MatchCriteria;
473+
_matchCriteria = options?.MatchCriteria switch
474+
{
475+
MatchCriteria.All => "all",
476+
MatchCriteria.Any => "any",
477+
null => null,
478+
_ => throw new ArgumentException("Invalid match criteria set for Atlas Search text operator.")
479+
};
474480
}
475481

476-
private protected override BsonDocument RenderArguments(RenderArgs<TDocument> args) =>
477-
new()
482+
private protected override BsonDocument RenderArguments(RenderArgs<TDocument> args)
483+
{
484+
return new BsonDocument
478485
{
479486
{ "query", _query.Render() },
480487
{ "fuzzy", () => _fuzzy.Render(), _fuzzy != null },
481488
{ "synonyms", _synonyms, _synonyms != null },
482-
{
483-
"matchCriteria", () => _matchCriteria switch
484-
{
485-
MatchCriteria.All => "all",
486-
MatchCriteria.Any => "any",
487-
_ => throw new ArgumentException("Invalid match criteria set for Atlas Search text operator.")
488-
},
489-
_matchCriteria != null
490-
}
489+
{ "matchCriteria", _matchCriteria, _matchCriteria != null }
491490
};
491+
}
492492
}
493493

494494
internal sealed class WildcardSearchDefinition<TDocument> : OperatorSearchDefinition<TDocument>

‎tests/MongoDB.Driver.Tests/Search/SearchDefinitionBuilderTests.cs‎

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,12 +1126,8 @@ public void Text_should_throw_with_invalid_options()
11261126
{
11271127
var subject = CreateSubject<BsonDocument>();
11281128

1129-
var query = subject.Text("x", "foo", new SearchTextOptions<BsonDocument> { MatchCriteria = (MatchCriteria)3 });
1130-
11311129
Action act = () =>
1132-
query.Render(new RenderArgs<BsonDocument>(
1133-
BsonSerializer.SerializerRegistry.GetSerializer<BsonDocument>(),
1134-
BsonSerializer.SerializerRegistry));
1130+
subject.Text("x", "foo", new SearchTextOptions<BsonDocument> { MatchCriteria = (MatchCriteria)3 });
11351131

11361132
act.ShouldThrow<ArgumentException>();
11371133
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /