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"); + } + }