使用新的3.0+ java driver来检查集合中是否存在文档,最好的方法是什么?
我已经看过这里,并尝试做类似的事情。我只完成了这一步:
这将返回一个FindIterable,但如何检查它是否找到了任何内容?如果可以,请提供代码示例。
我尝试过:
但是当查询没有返回任何内容时,它会出现以下错误:
我已经看过这里,并尝试做类似的事情。我只完成了这一步:
FindIterable<Document> iterable = collection.find(eq("code", "abcdefg")).projection(Projections.include("_id")).limit(1);
这将返回一个FindIterable,但如何检查它是否找到了任何内容?如果可以,请提供代码示例。
我尝试过:
if (!iterable.first().isEmpty()){System.out.println(" RESILT IS FOUND ");}else{System.out.println(" RESULT IS NOT FOUND ");}
但是当查询没有返回任何内容时,它会出现以下错误:
Exception in thread "main" java.lang.NullPointerException
at com.oss.niagaramqtt.MongoLib.exists(MongoLib.java:58)
at com.oss.niagaramqtt.MongoLib.<init>(MongoLib.java:47)
at com.oss.niagaramqtt.startup.main(startup.java:24)
这种方法是检查文档是否存在的正确方法吗?
编辑: 这可能是答案,请确认:
MongoCursor<Document> iterable = collection.find(eq("code", "abcdefg")).projection(Projections.include("_id")).limit(1).iterator();
if (iterable.hasNext()){System.out.println(" RESILT IS FOUND ");}else{System.out.println(" RESULT IS NOT FOUND ");}