From d34db451166dba596d5351c897eb9cd3b797312d Mon Sep 17 00:00:00 2001 From: godotg Date: Thu, 29 Sep 2022 17:03:08 +0800 Subject: [PATCH] =?UTF-8?q?perf[orm]:=20=E7=AE=80=E5=8C=96mongodb=E7=9A=84?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../orm/model/query/MongoQueryBuilder.java | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/orm/src/main/java/com/zfoo/orm/model/query/MongoQueryBuilder.java b/orm/src/main/java/com/zfoo/orm/model/query/MongoQueryBuilder.java index 46c504ea..f69f26eb 100644 --- a/orm/src/main/java/com/zfoo/orm/model/query/MongoQueryBuilder.java +++ b/orm/src/main/java/com/zfoo/orm/model/query/MongoQueryBuilder.java @@ -27,18 +27,14 @@ import java.util.function.Consumer; public class MongoQueryBuilder> implements IQueryBuilder { private final Class entity; - private Bson builder; + private Bson builder = Filters.empty(); public MongoQueryBuilder(Class entityClazz) { entity = entityClazz; } private void wrapBuilder(Bson bson) { - if (builder != null) { - builder = Filters.and(builder, bson); - } else { - builder = bson; - } + builder = Filters.and(builder, bson); } @Override @@ -109,7 +105,7 @@ public class MongoQueryBuilder> implements IQueryBuilder public List queryAll() { var collection = OrmContext.getOrmManager().getCollection(entity); var list = new ArrayList(); - var result = builder != null ? collection.find(builder) : collection.find(); + var result = collection.find(builder); result.forEach(new Consumer>() { @Override public void accept(IEntity entity) { @@ -125,7 +121,7 @@ public class MongoQueryBuilder> implements IQueryBuilder var p = Page.valueOf(page, itemsPerPage, collection.countDocuments()); - var result = builder != null ? collection.find(builder) : collection.find(); + var result = collection.find(builder); var list = new ArrayList(); result.skip(p.skipNum()) .limit(p.getItemsPerPage()) @@ -142,10 +138,6 @@ public class MongoQueryBuilder> implements IQueryBuilder @Override public E queryFirst() { var collection = OrmContext.getOrmManager().getCollection(entity); - var list = builder != null ? collection.find(builder) : collection.find(); - for (E row : list) { - return row; - } - return null; + return collection.find(builder).first(); } }