Mongo异步Java驱动程序在insertOne方法中不返回id

Mongo异步Java驱动程序在insertOne方法中不返回id,java,mongodb,mongodb-java,Java,Mongodb,Mongodb Java,我正在努力解决这个问题,因为我必须为mongodb async insertOne函数获取插入的id字段。有人能帮忙吗?或者我必须完全摆脱异步驱动程序,因为没有办法?在这之后 注意:通过下面的调用,文档已成功插入mongodb,但我无法从该api获取_id m_messages_collection.insertOne(userMessage, new SingleResultCallback<Void>() { @Override public vo

我正在努力解决这个问题,因为我必须为mongodb async insertOne函数获取插入的id字段。有人能帮忙吗?或者我必须完全摆脱异步驱动程序,因为没有办法?在这之后

注意:通过下面的调用,文档已成功插入mongodb,但我无法从该api获取_id

m_messages_collection.insertOne(userMessage, new SingleResultCallback<Void>() {
        @Override
        public void onResult(final Void result, final Throwable t) {
            logger.log(Level.INFO, "A new message from " + aMessage.m_sender + " inserted to DB" + operation.toString());
        }
    });
m_messages_collection.insertOne(userMessage,newsingleresultcallback()){
@凌驾
公开作废结果(最终作废结果、最终可丢弃结果){
logger.log(Level.INFO,“来自“+aMessage.m_sender+”的新消息插入到DB”+operation.toString());
}
});

是否要从onResult方法获取userMessage.\u id?是,但api为result运行null。。这个异步驱动程序还有其他方法吗?到目前为止,我已经尽了最大的努力,我认为这个库是没有办法的。你有没有通过mongo shell检查文档是否已经实际插入到集合中?答案是肯定的。。从上一周开始我一直在努力,所以我已经检查了所有可能的场景,如果您愿意,还可以编写两行代码并进行测试。。如果使用java mongo异步库,任何人都只能通过他的经验在这里提供帮助。现在,由于没有社区的支持,我计划使用其他一些图书馆。我以前已经有过vertx,但是在vertx上写我的项目会让我再浪费一个星期的时间,所以我想看看是否有专家可以在这里提供帮助。据我所知,打电话的结果是无法获得id。但是请注意,同步驱动程序也不会给出_id,因为同步中的insertOne有一个无效的结果。因此,您的方法可能是在调用之前自己创建对象id,请参阅以获取一些指针。