Skip to content

Commit 54762aa

Browse files
committed
feat: add implementation for the count method with bson query filter
Signed-off-by: Maximillian Arruda <[email protected]>
1 parent f0b60cf commit 54762aa

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

jnosql-mongodb/src/main/java/org/eclipse/jnosql/databases/mongodb/mapping/DefaultMongoDBTemplate.java

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,24 +42,24 @@ class DefaultMongoDBTemplate extends AbstractDocumentTemplate implements MongoDB
4242

4343
private final Instance<MongoDBDocumentManager> manager;
4444

45-
private final DocumentEntityConverter converter;
45+
private final DocumentEntityConverter converter;
4646

47-
private final DocumentWorkflow workflow;
47+
private final DocumentWorkflow workflow;
4848

49-
private final EntitiesMetadata entities;
49+
private final EntitiesMetadata entities;
5050

51-
private final Converters converters;
51+
private final Converters converters;
5252

53-
private final DocumentEventPersistManager persistManager;
53+
private final DocumentEventPersistManager persistManager;
5454

5555

5656
@Inject
5757
DefaultMongoDBTemplate(Instance<MongoDBDocumentManager> manager,
58-
DocumentEntityConverter converter,
59-
DocumentWorkflow workflow,
60-
EntitiesMetadata entities,
61-
Converters converters,
62-
DocumentEventPersistManager persistManager) {
58+
DocumentEntityConverter converter,
59+
DocumentWorkflow workflow,
60+
EntitiesMetadata entities,
61+
Converters converters,
62+
DocumentEventPersistManager persistManager) {
6363
this.manager = manager;
6464
this.converter = converter;
6565
this.workflow = workflow;
@@ -145,4 +145,19 @@ public <T> Stream<Map<String, BsonValue>> aggregate(Class<T> entity, List<Bson>
145145
return this.getManager().aggregate(entityMetadata.name(), pipeline);
146146
}
147147

148+
@Override
149+
public long count(String collectionName, Bson filter) {
150+
Objects.requireNonNull(collectionName, "collection name is required");
151+
Objects.requireNonNull(filter, "filter is required");
152+
return this.getManager().count(collectionName, filter);
153+
}
154+
155+
@Override
156+
public <T> long count(Class<T> entity, Bson filter) {
157+
Objects.requireNonNull(entity, "entity is required");
158+
Objects.requireNonNull(filter, "filter is required");
159+
EntityMetadata entityMetadata = this.entities.get(entity);
160+
return this.getManager().count(entityMetadata.name(), filter);
161+
}
162+
148163
}

0 commit comments

Comments
 (0)