title: mongodb TTL not removing documents
body: <p>I have a simple schema like:</p>
  
  <pre><code>{
      _id: String,      // auto generated
      key: String,      // there is a unique index on this field
      timestamp: Date() // set to current time
  }
  </code></pre>
  
  <p>Then I set the TTL index like so:</p>
  
  <pre><code>db.sess.ensureIndex( { "timestamp": 1 }, { expireAfterSeconds: 3600 } )
  </code></pre>
  
  <p>I expect the record to removed after 1 hour but it is never removed.
  I flipped on verbose logging and I see the TTLMonitor running:</p>
  
  <pre><code>Tue Sep 10 10:42:37.081 [TTLMonitor] TTL: { timestamp: 1.0 } { timestamp: { $lt: new Date(1378823557081) } }
  Tue Sep 10 10:42:37.081 [TTLMonitor] TTL deleted: 0
  </code></pre>
  
  <p>When I run that query myself I see all my expired records coming back:</p>
  
  <pre><code>db.sess.find({ timestamp: { $lt: new Date(1378823557081) }})
  
  ...
  </code></pre>
  
  <p>Any ideas? I'm stumped.</p>
  
  <p><strong>EDIT - Example document below</strong></p>
  
  <pre><code>{ "_id" : "3971446b45e640fdb30ebb3d58663807", "key" : "6XTHYKG7XBTQE9MJH8", "timestamp" : ISODate("2013-09-09T18:54:28Z") }
  </code></pre>