Я пытаюсь запросить поле временной метки коллекции mongo oplog, используя java.
Ниже приведен код.
BSONTimestamp timestamp1 = new BSONTimestamp(1499172935, 1);
BasicDBObject query1 = new BasicDBObject("ts", new BasicDBObject("$gt", timestamp1) );
DBCursor cursor = dbCollection.find(query1);
Когда я запускаю вышеприведенный фрагмент кода, он ничего не возвращает.
Ниже приведен преобразованный запрос.
{ "ts" : { "$gt" : { "$ts" : 1499172935 , "$inc" : 1}} }
Я выполнил тот же запрос, используя robomongo, и он также ничего не возвращает.
db.getCollection('oplog.rs').find({ "ts" : { "$gt" : { "$ts" : 1499172935 , "$inc" : 1}} })
Но когда я изменил запрос на использование метки времени и выполнил его, он возвращает список записей oplog. Ниже приведен рабочий запрос монго.
db.getCollection('oplog.rs').find({ "ts" : { "$gt" : Timestamp(1499172935 , 1)} })
Как я могу получить вышеуказанный запрос с помощью java? или есть ли другой способ запросить поле метки времени oplog с помощью java?