我正在使用apache spark从mongo中提取大量数据。
我的mongo数据就像
{ "_id" : ObjectId("56a3287a45ce7cc14e2c4a84"), "Product" : "Id","CreatedOn" : ISODate("2016-01-23T01:47:50Z")}
我的火花查询是
config.set("mongo.input.query","{CreatedOn: {'$gt': new Date(1455561000000)}}).sort({_id:-1}");
给我以下例外
Caused by: com.mongodb.util.JSONParseException:
{CreatedOn: {'$gt': new Date(1455561000000)}}).sort({_id:-1}
相同的查询
db.mycollection.find({CreatedOn: {'$gt': new Date(1455561000000)}}).sort({_id:-1}"),
如果我在mongo shell上运行,它运行正常。
我正在使用java来执行代码。
答案 0 :(得分:0)
mongo.input.query
应该是一个有效的JSON字符串,你传递的内容显然不是一个。在严格的模式下,它应该或多或少地像这样(在需要时转义引号):
{"CreatedOn": {
"$gt": {"$date": "2016-01-05T18:30:00Z"}
"$lt": {"$date": "2016-01-22T18:30:00Z"}
}}
我怀疑是否可以通过这种方式传递排序,尤其是因为$orderby
已被弃用。