Prettify MongoDb ObjectId

Мы разрабатываем фотогалерею, в которой хранится огромное количество фотографий. Мы выбрали GridFS MongoDB для хранения изображений. Каждая вещь выглядит хорошо.

Но каждый раз, когда пользователь должен удалить фотографию, мы думали об удалении конкретной фотографии на основе ее "ObjectId", но отправка ObjectId на клиентскую сторону выглядит некрасиво из-за его длины. Удаление по имени фотографии невозможно, поскольку оно не уникально.

Так как же мы prettify ObjectId отправить его на сторону клиента?

1 ответ

Не уверен, что это ответ как ответ, поскольку он субъективен, но опять же, вопрос такой же:

Если вы не хотите использовать другое поле, вы можете изменить кодировку идентификатора. Я думаю, что base64 выглядит просто отлично:

55036ee50202b73c1a021897 -> NTUwMzZlZTUwMjAyYjczYzFhMDIxODk3

Другой вариант - сгенерировать случайную строку и сохранить ее в документе, что дает много возможностей настройки внешнего вида. Например, вы можете сделать 4-значный код только с прописными буквами, такими как BUZQ, Однако обязательно создайте уникальный индекс, чтобы случайно не создать повторяющиеся идентификаторы.

Другие вопросы по тегам