我正在开发一个从MongoDB获取数据的简单Web应用程序。
我需要做的是显示与网页上的查询匹配的数据。假设用户必须选择
现在,我的MongoDB集合包含所有类型的对象,其中一些根本不一定是算法(不幸的是,这是不可避免的)。
由于这个事实,我有一个特定的查询,找到所有有资格进一步处理的文件。
FindIterable<Document> docs = collection.find(Filters.ex(programmingLanguage));
这是我的最后一个问题:
当我已经拥有FindIterable对象时,我是否可以对其进行过滤,以便只选择以前选定文档中的特定文档?
例如,我需要一行代码,这些代码只会给我一个不到一个月前创建的文档,这些文档是用Java编写的,给定 docs 对象。
我希望我能像这样实现它:
创建在FindIterable对象上应用附加过滤器的函数
public static FindIterable<Document> applyLastMonth(FindIterable<Document> docs) {
return docs.<magicfunction>(Filters.gte("date", dateMonthAgo()))
}
并将其应用于需要的任何地方。有可能吗?
我的问题要复杂得多,所以请不要解决上面给出的例子,我只是希望能够过滤其他查询返回的结果,这样我就不会在我的代码中查看几十个案例了。不幸的是,我发现docs.filter(...)对我不起作用,因为它用新的查询替换了旧查询。