java - MongoDB Java 使用多个过滤器并排在最后
问题描述
在我的收藏中,文档如下所示:
通过这样做,我设法获得了最后插入的文档:
collection.find().sort(new Document("date",-1)).first().getDate()
但是现在我需要得到最后一个按日期并且有一个特定值的functionalityName
. 我被卡住了,因为我不知道如何修改它以考虑两个过滤器。我怎么做?
我查看了 Mongo 中的多个过滤器,但由于我不是在寻找特定日期,而是在寻找更大的日期(最后一个),所以我不知道如何与其他过滤器一起指定它。
解决方案
听起来你想要一个过滤器和一个排序,查询看起来像这样:
collection.find(Filters.eq("functionalityName", "specificValue"))
.sort(new Document("date",-1))
.first()
.getDate()
所以该sort
部分保持原样,但在find
您添加过滤器的部分中。
您还需要导入 Filters 类:
import com.mongodb.client.model.Filters.*;
或者,为了简洁起见,您可以静态导入Filters
该类,这是官方过滤器文档中的示例的完成方式,如果需要添加其他过滤器,您可能需要查看。
import static com.mongodb.client.model.Filters.*;
// ...
collection.find(eq("functionalityName", "specificValue"))
.sort(new Document("date",-1))
.first()
.getDate()
推荐阅读
- python - bzip2 支持的文件类型
- typescript - 找不到模块“./SLink.svelte”或其对应的类型声明
- ios - 如何使用 Swift UI 将忽略安全区域的 MapView 与我的其他内容对齐?
- vimeo - 在哪里获取 Vimeo 中文件夹的 project_id 值?
- java - Android Studio - 恢复?项目推送到 Github
- python - 未找到“博客/文章”的反向。“博客/文章”不是有效的视图函数或模式名称
- notepad++ - Notepad ++在行首和字符串之间查找某个字符
- php - 为什么检查txt文件中的重复项对txt文件第一行中存储的信息不起作用?
- mysql - 如何处理这个使用一对多连接的查询中的重复值,为什么即使使用 group_concat 也会出现?
- javascript - 我在画布中的图像在页面开始后消失