Да, използването на ObjectId на mongo е правилният начин. Единственото нещо е:трябва да ги генерирате сами, в кода на приложението. Те са предназначени да бъдат глобално уникални, различни работници няма да генерират два идентични ObjectId, така че в този смисъл няма условие за състезание.
Всички официални драйвери трябва да предоставят начин за генериране на ObjectId. Ето как е в Ruby:
oid = BSON::ObjectId.new