From e449f326d618cbf78ac50f7b2fe7651f069803f7 Mon Sep 17 00:00:00 2001 From: jaysunxiao Date: Fri, 6 Aug 2021 11:14:30 +0800 Subject: [PATCH] =?UTF-8?q?perf[mongo]:=20=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zfoo/orm/util/MongoIdUtils.java | 16 +++++++++++++--- .../java/com/zfoo/orm/util/MongoIdUtilsTest.java | 7 +++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/orm/src/main/java/com/zfoo/orm/util/MongoIdUtils.java b/orm/src/main/java/com/zfoo/orm/util/MongoIdUtils.java index 406c28a9..5201855d 100644 --- a/orm/src/main/java/com/zfoo/orm/util/MongoIdUtils.java +++ b/orm/src/main/java/com/zfoo/orm/util/MongoIdUtils.java @@ -78,10 +78,20 @@ public abstract class MongoIdUtils { * @param documentName 档id */ public static void resetIncrementIdFromMongoDefault(String documentName) { - var collection = OrmContext.getOrmManager().getCollection(COLLECTION_NAME); + setIncrementIdFromMongo(0L, COLLECTION_NAME, documentName); + } - collection.findOneAndUpdate(Filters.eq("_id", documentName) - , new Document("$set", new Document(COUNT, 0L))); + public static void setIncrementIdFromMongo(long value, Class clazz) { + setIncrementIdFromMongo(value, COLLECTION_NAME, StringUtils.uncapitalize(clazz.getSimpleName())); + } + + public static void setIncrementIdFromMongo(long value, String documentName) { + setIncrementIdFromMongo(value, COLLECTION_NAME, documentName); + } + + public static void setIncrementIdFromMongo(long value, String collectionName, String documentName) { + var collection = OrmContext.getOrmManager().getCollection(collectionName); + collection.findOneAndUpdate(Filters.eq("_id", documentName), new Document("$set", new Document(COUNT, value))); } diff --git a/orm/src/test/java/com/zfoo/orm/util/MongoIdUtilsTest.java b/orm/src/test/java/com/zfoo/orm/util/MongoIdUtilsTest.java index ea82ebb8..2b46a20e 100644 --- a/orm/src/test/java/com/zfoo/orm/util/MongoIdUtilsTest.java +++ b/orm/src/test/java/com/zfoo/orm/util/MongoIdUtilsTest.java @@ -78,4 +78,11 @@ public class MongoIdUtilsTest { MongoIdUtils.resetIncrementIdFromMongoDefault("myDocument"); } + @Test + public void set() { + var context = new ClassPathXmlApplicationContext("application.xml"); + var id = MongoIdUtils.getIncrementIdFromMongoDefault("myDocument"); + System.out.println(id); + MongoIdUtils.setIncrementIdFromMongo(100, "myDocument"); + } }