如何在mongo驱动程序中覆盖ObjectId生成器以生成自定义objectId?

时间:2018-01-08 13:33:50

标签: java mongodb mongoid

我们可以从客户端生成ObjectId并在插入时使用它。我想要在插入过程之外处理它。我需要将它配置为我的默认_id生成过程,这样当我调用insert时,insert方法应该创建自定义objectId并使用它。是否可以使用mongodb的Java驱动程序?

我需要以某种方式覆盖默认的_id生成过程。我不喜欢在插入文档中明确定义_id。

1 个答案:

答案 0 :(得分:1)

目前无法直接通过驱动程序实现。

尽管存在可用于创建自定义实现的IdGenerator接口,但目前无法将该自定义实例注入驱动程序。

您可以在MongoDB Java驱动程序repository中看到它。

有一个JIRA ticket支持这个,然而,它被关闭为another ticket的副本,它再次关闭,因为"赢得了修复"。

但是,您应该能够以保存任何内容之前分配自定义ID的方式实现您的存储库。