我尝试检查文档是否已存在,但遇到一些问题。我尝试了不同的解决方案:
1.使用findOne()
并检查输出是否为null
(不工作)
1.使用countDocument()
(不起作用)最常见的错误是我不能强制转换,例如:Publisher
到long
或Publisher
到Document
谢谢。
方法一:
Document d = collection.find(eq("UUID", id)).first();
if (d == null) {
System.out.println("document = null");
return;
}
System.out.println("document exists");
方法二:
if (collection.countDocuments(query) < 1) {
System.out.println("Document exists");
}
1条答案
按热度按时间ee7vknir1#
要检查文档是否存在,可以使用
ReactiveMongoTemplate
类中的exists()
方法。该方法以Query
对象作为参数,用于指定匹配文档的条件。您可以在此处阅读有关exists()
方法的信息。以下示例说明如何使用
exists()
方法检查具有特定id
字段的文档是否存在于名为docs
的集合中:其中,
query
等于org.springframework.data.mongodb.core.query.Query
,reactiveMongoTemplate
等于org.springframework.data.mongodb.core.ReactiveMongoTemplate
您提到的其他解决方案实际上也必须有效,例如:
1.使用
findOne()
方法:您可以在这里阅读有关
findOne()
方法的信息。1.使用
count()
方法:您可以在此处阅读有关
count()
方法的信息