Удаление/скрытие Mongo ObjectID из URL-адреса KeystoneJS

Есть ли способ удалить или скрыть идентификатор объекта mongo из URL-адресов, сгенерированных веб-сайтом Keystone.js.

Пример:

Когда я пытаюсь перейти к любому продукту, опубликованному с помощью администратора CMS с веб-сайта, я вижу точно такой же MongoID (_id) этого документа, прикрепленный к URL-адресу:

http://abc.def/xyz/58a6d7eb177b563c595683ba


person Community    schedule 03.06.2017    source источник


Ответы (2)


В пользовательском интерфейсе администратора нет возможности скрыть документ элемента базы данных Mongo. Вот как пользовательский интерфейс администратора узнает, какой документ он просматривает. Вы можете создать свой собственный административный интерфейс, отличный от того, который поставляется с Keystone, а затем реализовать свой собственный метод просмотра документов на основе URL (по имени элемента, ключу или какой-либо другой значимой информации).

person Shea Hunter Belsky    schedule 04.06.2017
comment
Спасибо за любезную информацию. Но создание другого пользовательского интерфейса не помогло бы. Именно поэтому мы выбираем CMS. Теперь создание какого-то другого UI не вопрос. Нужен метод, чтобы скрыть или удалить идентификатор Mongo. - person ; 05.06.2017
comment
Чтобы прояснить мысли, я хотел бы, чтобы вы знали, что этот вопрос не для пользовательского интерфейса ADMIN. Это для веб-сайта, с которым будет взаимодействовать реальный пользователь. - person ; 05.06.2017
comment
Значит, это не административный интерфейс Keystone (доступ из /keystone/), а какой-то другой интерфейс администратора, который у вас уже есть? - person Shea Hunter Belsky; 07.06.2017

Спасибо за ваши ответы.

Я решил эту проблему, предоставив уникальное отношение «ключ» в keytone.js и используя тот же «ключ» в качестве навигации по URL-адресам. Сделав это, нам просто нужно было изменить отношение идентификаторов объектов к ключам, и все стало нормально работать без идентификаторов объектов в URL-адресах.

person Community    schedule 25.08.2017