Vous pouvez essayer d'utiliser les 4 premiers octets d'ObjectID (ils représenteront l'horodatage).
Mais, pour être sûr à 100%, il vaut mieux produire un identifiant court vraiment unique, en implémentant un compteur. Vous pouvez utiliser une collecte séparée pour maintenir la valeur actuelle de votre compteur.
Plus de détails sur la structure ObjectID de mongo peuvent être trouvés ici :http://www.mongodb. org/display/DOCS/Object+IDs
Comme alternative, vous pouvez convertir la représentation de l'identifiant de chaîne hexadécimale en une représentation basée sur 36 symboles (26 lettres latines + 10 chiffres). Ce sera évidemment plus court.
Il semble qu'il existe une bibliothèque ruby capable de faire de telles conversions http://rubyworks.github.com /base/