gpt4 book ai didi

java - 如何创建 10 个字符长度的 Mongo ObjectId(如 Parse Server)

转载 作者:行者123 更新时间:2023-12-02 09:54:08 25 4
gpt4 key购买 nike

我很好奇如何创建 10 个字符长度的 Mongodb objectId,即 Parse Server 用于其记录存储的 (XlatDx2nYf)。

我特别问这个问题是因为试图将 Parse 整体转变成一种更加面向服务的方法(在本例中是基于 Java 的),并且无法弄清楚如何使用这些看似“格式错误”的 objectId 创建对象。但这个问题比Java/Mongodb接口(interface)更通用。我实际上不知道 Parse Server 如何摆脱使用这些不符合 Mongodb ObjetId standards 的自定义 objectId 创建记录的情况。 。这里的解释会很棒。

从那里我觉得我可能可以在Java(Morphia)世界中弄清楚它。感谢你们的投入!

最佳答案

在我看来,这些解析 ID 只是 Base62-encoded整数。我发现this snippet它可以将任何int格式化为这种格式。

不幸的是,即使 Java long 也只有 8 个字节,因此您无法一次性获取 ObjectId,但类似以下内容应该可以工作:

ObjectId myId = new ObjectId()
String base62 = Base62.fromBase10(myId.getTimestamp()) +
Base62.fromBase10(myId.getMachineIdentifier()) +
Base62.fromBase10(myId.getProcessIdentifier()) +
Base62.fromBase10(myId.getCounter());

关于java - 如何创建 10 个字符长度的 Mongo ObjectId(如 Parse Server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56120702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com