From 2dbe300fdee57e6fc6498b84fac2e6d7336b218c Mon Sep 17 00:00:00 2001 From: jaysunxiao Date: Tue, 3 Aug 2021 17:38:05 +0800 Subject: [PATCH] =?UTF-8?q?perf[orm]:=20=E6=96=B0=E5=A2=9E=E9=87=8D?= =?UTF-8?q?=E7=BD=AEmongodb=E7=9A=84uuid=E7=9A=84=E9=87=8D=E7=BD=AE?= =?UTF-8?q?=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 | 18 ++++++++++++++++++ .../com/zfoo/orm/util/MongoIdUtilsTest.java | 8 ++++++++ 2 files changed, 26 insertions(+) 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 f772c212..406c28a9 100644 --- a/orm/src/main/java/com/zfoo/orm/util/MongoIdUtils.java +++ b/orm/src/main/java/com/zfoo/orm/util/MongoIdUtils.java @@ -69,6 +69,24 @@ public abstract class MongoIdUtils { return getIncrementIdFromMongo(COLLECTION_NAME, StringUtils.uncapitalize(clazz.getSimpleName())); } + + // ---------------------------------------------------------------------------------------------------- + + /** + * 重置documentName的数值,重置为0 + * + * @param documentName 档id + */ + public static void resetIncrementIdFromMongoDefault(String documentName) { + var collection = OrmContext.getOrmManager().getCollection(COLLECTION_NAME); + + collection.findOneAndUpdate(Filters.eq("_id", documentName) + , new Document("$set", new Document(COUNT, 0L))); + } + + + // ---------------------------------------------------------------------------------------------------- + /** * 获取最大的id * 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 c3ea56fa..ea82ebb8 100644 --- a/orm/src/test/java/com/zfoo/orm/util/MongoIdUtilsTest.java +++ b/orm/src/test/java/com/zfoo/orm/util/MongoIdUtilsTest.java @@ -70,4 +70,12 @@ public class MongoIdUtilsTest { ThreadUtils.sleep(Long.MAX_VALUE); } + @Test + public void reset() { + var context = new ClassPathXmlApplicationContext("application.xml"); + var id = MongoIdUtils.getIncrementIdFromMongoDefault("myDocument"); + System.out.println(id); + MongoIdUtils.resetIncrementIdFromMongoDefault("myDocument"); + } + }