Inconsistent Mongoose find behavior

This has been puzzling me for an hour or so. I have a test like so (edited for sake of question:

var person = new Person({
  display_name: "Dom"
})

person.saveQ()
.then(function(savedPerson) {
  var incident = { 
    logger: {
      logger_id: savedPerson._id
    }
  }
  return request(app).post('/incidents')
  .send(incident)
})
.then(function(res) {
  console.log(res.body)
  should.exist(res.body._id)
})
.done(done);

I create a person, then I create an incident, setting the logger_id to that just created person's ID.

My actual request handler (edited down to smallest possible failing case), looks like so:

Person.findById(req.params.logger.logger_id, function(err, person) {
  if (!person) { 
    return next(new restify.ResourceNotFoundError("Person with id " + req.params.logger.logger_id + " not found.")) 
  }
  return next(res.json(201, person))
})

I.e. I find that recently created person by the passed in logger_id. If it doesn't exist, I throw an error.

NOW... this works normally and as expected 9/10 times. But occasionally it will fail with an error saying that person could not be found. Even though they were just created, and I have verified that it existed (just printing directly after save callback).

Is there anything obviously wrong? Is it perhaps my test harness code where I create my test DB, and clear it after every test?

Well... solved it.

Turned out to be unrelated to the code above. It was my test harness that cleared the database after each test. It had a bug in it. I decided to try the mocha-mongoose package, which works perfectly. Same test after 1000 runs has 0 errors. Previously it was ~ 50 errors.