BasicDBObject 解析抛出无效 json 数

BasicDBObject parse throwing invalid json number

我正在使用此代码创建聚合查询,但我得到的是 JsonParseException : invalid json number

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

是否有不同的方法来映射此查询?

BasicDBObject 解析接受 json extended version。要传递日期,您必须传递从纪元开始的以毫秒为单位的时间。

类似

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