DATAMONGO-2360 - Polishing.
Apply index hints in ReactiveMongoTemplate.count(…). Original pull request: #788.
This commit is contained in:
@@ -1275,6 +1275,9 @@ public class ReactiveMongoTemplate implements ReactiveMongoOperations, Applicati
|
||||
if (query.getSkip() > 0) {
|
||||
options.skip((int) query.getSkip());
|
||||
}
|
||||
if (StringUtils.hasText(query.getHint())) {
|
||||
options.hint(Document.parse(query.getHint()));
|
||||
}
|
||||
|
||||
operations.forType(entityClass).getCollation(query).map(Collation::toMongoCollation) //
|
||||
.ifPresent(options::collation);
|
||||
|
||||
@@ -407,6 +407,18 @@ public class ReactiveMongoTemplateUnitTests {
|
||||
assertThat(options.getValue().getLimit()).isEqualTo(100);
|
||||
}
|
||||
|
||||
@Test // DATAMONGO-2360
|
||||
public void countShouldApplyQueryHintIfPresent() {
|
||||
|
||||
Document queryHint = new Document("age", 1);
|
||||
template.count(new Query().withHint(queryHint), Person.class, "star-wars").subscribe();
|
||||
|
||||
ArgumentCaptor<CountOptions> options = ArgumentCaptor.forClass(CountOptions.class);
|
||||
verify(collection).count(any(), options.capture());
|
||||
|
||||
assertThat(options.getValue().getHint()).isEqualTo(queryHint);
|
||||
}
|
||||
|
||||
@Test // DATAMONGO-2215
|
||||
public void updateShouldApplyArrayFilters() {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user