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 d9a7434

Browse files
avoid context capturing
# Conflicts: # src/MongoDB.Driver/Search/OperatorSearchDefinitions.cs
1 parent 71ec65b commit d9a7434

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
@@ -464,7 +464,7 @@ private protected override BsonDocument RenderArguments(
464464
internal sealed class TextSearchDefinition<TDocument> : OperatorSearchDefinition<TDocument>
465465
{
466466
private readonly SearchFuzzyOptions _fuzzy;
467-
private readonly MatchCriteria? _matchCriteria;
467+
private readonly string _matchCriteria;
468468
private readonly SearchQueryDefinition _query;
469469
private readonly string _synonyms;
470470

@@ -477,27 +477,27 @@ public TextSearchDefinition(
477477
_query = Ensure.IsNotNull(query, nameof(query));
478478
_fuzzy = options?.Fuzzy;
479479
_synonyms = options?.Synonyms;
480-
_matchCriteria = options?.MatchCriteria;
480+
_matchCriteria = options?.MatchCriteria switch
481+
{
482+
MatchCriteria.All => "all",
483+
MatchCriteria.Any => "any",
484+
null => null,
485+
_ => throw new ArgumentException("Invalid match criteria set for Atlas Search text operator.")
486+
};
481487
}
482488

483489
private protected override BsonDocument RenderArguments(
484490
RenderArgs<TDocument> args,
485-
IBsonSerializer fieldSerializer) =>
486-
new()
491+
IBsonSerializer fieldSerializer)
492+
{
493+
return new BsonDocument
487494
{
488495
{ "query", _query.Render() },
489496
{ "fuzzy", () => _fuzzy.Render(), _fuzzy != null },
490497
{ "synonyms", _synonyms, _synonyms != null },
491-
{
492-
"matchCriteria", () => _matchCriteria switch
493-
{
494-
MatchCriteria.All => "all",
495-
MatchCriteria.Any => "any",
496-
_ => throw new ArgumentException("Invalid match criteria set for Atlas Search text operator.")
497-
},
498-
_matchCriteria != null
499-
}
498+
{ "matchCriteria", _matchCriteria, _matchCriteria != null }
500499
};
500+
}
501501
}
502502

503503
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
@@ -1358,12 +1358,8 @@ public void Text_should_throw_with_invalid_options()
13581358
{
13591359
var subject = CreateSubject<BsonDocument>();
13601360

1361-
var query = subject.Text("x", "foo", new SearchTextOptions<BsonDocument> { MatchCriteria = (MatchCriteria)3 });
1362-
13631361
Action act = () =>
1364-
query.Render(new RenderArgs<BsonDocument>(
1365-
BsonSerializer.SerializerRegistry.GetSerializer<BsonDocument>(),
1366-
BsonSerializer.SerializerRegistry));
1362+
subject.Text("x", "foo", new SearchTextOptions<BsonDocument> { MatchCriteria = (MatchCriteria)3 });
13671363

13681364
act.ShouldThrow<ArgumentException>();
13691365
}

0 commit comments

Comments
(0)

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