如何在条件查询中使用Spark MongoDB-Connector?

时间:2018-12-13 07:28:55

标签: mongodb apache-spark

最近,我尝试从Official documents使用MongoDB-Connector JavaMongoRDD<Document> rdd = MongoSpark.load(jsc); 但该演示将加载我收藏中的所有数据,
我只想在我的Java或Scala代码中运行此命令 db.pointer.find({"inserttime":{$lt:new Date(2018,0,4,7,0,10),$gte:new Date(2018,0,4,7,0,0)}},{"inserttime":1,})

我知道我可以使用RDD.filter()来获取所需的数据。

但是它将在第一时间查询所有数据,这不是我想要的。
预先感谢。

编辑:
是否提供了任何条件查询方法来减少查询时的结果数据。

类似于JDBC: find(and(eq("status", "A"),or(lt("qty", 30), regex("item", "^p"))));

1 个答案:

答案 0 :(得分:0)

documentation使用聚合来过滤数据库级别的数据,因此您可以执行同样的操作。

[(1, 2), (2, 3), (3, 4), (2, 1)]

日期范围查询技巧来自this answer