Можно создать документ с уже существующим slug. Да, это в реальной практике не столь частая проблема, но все таки категорически не верная.
Надо на момент создания проверять существование, и апгрейдить слаг.
Так же сам слаг надо в бд сделать уникальным. Правда это помешает делать одноименные документы в разных проектах, может сделать составной индекс с суффиксом, и проверять именно его. А в запросах на получение документа по слагу обязать указывать и проект.