我正在尝试使用 java 查询 mongo oplog 集合的时间戳字段。
下面是代码。
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}} })
但是当我将查询更改为使用 Timestamp 并执行它时,它会返回 oplog 记录列表。下面是工作中的 mongo 查询。
db.getCollection('oplog.rs').find({ "ts" : { "$gt" : Timestamp(1499172935 , 1)} })
如何使用 java 获取上述查询?或者有没有其他方法可以使用java查询oplog时间戳字段?