gpt4 book ai didi

java - 来自 java : how to get _id of existing object? 的 mongodb upsert

转载 作者:可可西里 更新时间:2023-11-01 09:06:37 26 4
gpt4 key购买 nike

我在 java 和 MongoDB 中使用 mongo-jackson-wrapper。我通过查询我的一个字段(不是_id字段)找到一个对象,然后我需要知道_id字段值,是否最终结果是更新或插入。但是,我得到一个异常(exception):

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);

执行此操作的正确方法是什么(如果有的话)?

最佳答案

您需要使用 findAndModify 并将 returnNew 设置为 true

您可以查看 JavaDoc

这段代码应该可以解决问题,但我还没有测试过。


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

关于java - 来自 java : how to get _id of existing object? 的 mongodb upsert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10900611/

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