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