mongodb从java升级:如何获取现有对象的_id?

mongodb从java升级:如何获取现有对象的_id?,java,mongodb,mongo-java,Java,Mongodb,Mongo Java,我将mongo jackson包装器与java和MongoDB一起使用。我通过查询我的一个字段(不是_id字段)找到一个对象,然后我需要知道_id字段的值,是否 最终结果是更新或插入。但是,我有一个例外: com.mongodb.MongoException: No objects to return at net.vz.mongodb.jackson.WriteResult.getSavedId(WriteResult.java:97) 异常来自包装器,而不是MongoDB驱动程序本

我将mongo jackson包装器与java和MongoDB一起使用。我通过查询我的一个字段(不是_id字段)找到一个对象,然后我需要知道_id字段的值,是否 最终结果是更新或插入。但是,我有一个例外:

com.mongodb.MongoException: No objects to return
    at net.vz.mongodb.jackson.WriteResult.getSavedId(WriteResult.java:97)
异常来自包装器,而不是MongoDB驱动程序本身

WriteResult<EntityDocument, String> wr 
   = coll.update(DBQuery.is("corefEntityId", corefEntityId), up, true,  false);
WriteResult wr
=coll.update(DBQuery.is(“corefEntityId”,corefEntityId),up,true,false);

什么(如果有的话)是正确的方法?

您需要使用find和modify并将returnNew设置为true

您可以查看

这段代码应该可以做到,但我还没有测试它


coll.findAndModify(DBQuery.is(“corefEntityId”,corefEntityId),null,null,false,up,true,false);