如何确定一个字符串是否可以用作 MongoDB ObjectID?

问题描述

我正在使用 Micronaut 框架和 JAVA 并尝试使用以下字符串验证 objectId。

60236833af6a1d49478d2bef   // Valid mongo ObjectId

60236833a46a1d49478d2bef  // Invalid mongo ObjectId

如何使用 MongoDb 在 Java 中执行字符串是否具有有效的 objectId?

解决方法

这对我有用

import org.bson.types.ObjectId;

if(ObjectId.isValid(value)){
}
,

您可以参考 ObjectId specification 了解它们的生成方式。

任何 24 个字符的十六进制字符串都应该可以转换为 ObjectId。