Java 如何在mongo驱动程序中重写ObjectId生成器以生成自定义ObjectId?
我们可以从客户端生成ObjectId,并在插入时使用它。我确实希望在插入过程之外处理它。我需要将其配置为默认的_id生成过程,以便每次调用insert时,insert方法都应该创建自定义objectId并使用它。mongodb的Java驱动程序可以吗Java 如何在mongo驱动程序中重写ObjectId生成器以生成自定义ObjectId?,java,mongodb,mongoid,Java,Mongodb,Mongoid,我们可以从客户端生成ObjectId,并在插入时使用它。我确实希望在插入过程之外处理它。我需要将其配置为默认的_id生成过程,以便每次调用insert时,insert方法都应该创建自定义objectId并使用它。mongodb的Java驱动程序可以吗 我需要以某种方式覆盖默认的id生成过程。我不喜欢在插入文档中明确定义_id。目前无法通过驱动程序直接定义 尽管有一个IdGenerator接口可用于创建自定义实现,但目前无法将该自定义实例注入驱动程序 您可以在MongoDB Java驱动程序中看到
我需要以某种方式覆盖默认的id生成过程。我不喜欢在插入文档中明确定义_id。目前无法通过驱动程序直接定义 尽管有一个IdGenerator接口可用于创建自定义实现,但目前无法将该自定义实例注入驱动程序 您可以在MongoDB Java驱动程序中看到这一点 然而,有一种方法支持这一点,它被关闭为一个副本,再次被关闭为“不会修复”
不过,您应该能够以在保存任何内容之前分配自定义id的方式实现您的存储库。可能重复@dnickless我在发布此内容之前已详细讨论了该问题。这解释了如何通过在文档中显式定义来添加自定义_id。我不喜欢在文档中明确定义。我想覆盖默认的_id生成过程,这样即使插入文档中没有定义_id,它也会使用覆盖id生成器创建一个新的_id。