BasicDBObject разбора бросая недопустимый номер JSON - PullRequest
0 голосов
/ 22 декабря 2018

Я использую этот код для создания запроса агрегации, но я получаю JsonParseException : invalid json number

Map<String, Object> map = new LinkedHashMap<>();
map.put("if",  BasicDBObject.parse("{'$gte':[{'$subtract':
[{'$ifNull':['$acceptedDate', " + new Date() + "]},'$lastVisit']},1296000000]}}"));

Возможно, есть другой способ сопоставить этот запрос?.

1 Ответ

0 голосов
/ 23 декабря 2018

BasicDBObject parse принимает расширенную версию json .Чтобы передать дату, вы должны передать время в миллисекундах с эпохи.

Что-то вроде

BasicDBObject.parse("
 {'$gte':[
   {'$subtract':[
     {'$ifNull':['$acceptedDate', {'$date': " + System.currentTimeMillis() + "}]},
     '$lastVisit'
   ]},
   1296000000
 ]}"
)
...