On this page
The following is example output from the rs.printSlaveReplicationInfo() method issued on a replica set with two secondary members:
source: m1.example.net:27017 syncedTo: Thu Apr 10 2014 10:27:47 GMT-0400 (EDT) 0 secs (0 hrs) behind the primary source: m2.example.net:27017 syncedTo: Thu Apr 10 2014 10:27:47 GMT-0400 (EDT) 0 secs (0 hrs) behind the primary
A member may show a negative time value behind the primary when rs.printSlaveReplicationInfo() is called. This behavior is expected if the method is called after a secondary replicates a write following a period of inactivity, but before it has received a heartbeat from the primary with its latest optime.
The lag reported by secondaries may not be representative of cluster health. Negative values do not indicate that the secondary is ahead of the primary.
For the most up-to-date information on your replica set, it is generally advisable to run rs.printSlaveReplicationInfo() on the primary.