Vous pouvez le faire en 2 étapes :
var objIdMin = ObjectId(Math.floor((new Date('1990/10/10'))/1000).toString(16) + "000
0000000000000")
var objIdMax = ObjectId(Math.floor((new Date('2011/10/22'))/1000).toString(16) + "000
0000000000000")
db.myCollection.find({_id:{$gt: objIdMin, $lt: objIdMax}})
soit en une seule étape (ce qui est moins lisible) :
db.myCollection.find({_id:{$gt: ObjectId(Math.floor((new Date('1990/10/10'))/1000).toString(16) + "000
0000000000000"), $lt: ObjectId(Math.floor((new Date('2011/10/10'))/1000).toString(16) + "000
0000000000000")}})