Нет способа сделать это в драйвере Ruby, потому что нет способа сделать это в MongoDB.Mongo поддерживает только атомарные операции с одним документом.Таким образом, в основном вставка, обновление или удаление одного документа выполняется атомарно, но не операции над несколькими документами.
Вы можете подделать транзакцию, попытавшись выполнить откат вручную, если произойдет ошибка,Откат в этом случае должен был бы заменить любые изменения предыдущими значениями.Но это происходит вручную, и ACID не гарантирует, что вы получите от большинства серверов SQL.