Как переопределить лимит индексации по умолчанию в mongoDB? - PullRequest
0 голосов
/ 01 июня 2019

У меня AWS Cognito JWT более 125 символов, для которого мне нужно создать индексацию в MongoDB.Но проблема заключается в том, что индексирование MongoDB принимает символ максимального предела, 125. Как мы можем установить максимальный предел или есть ли способ увеличить ограничение по умолчанию для символа.

Я попытался проиндексировать JWT (около 150 символов)где у меня есть следующая ошибка.

  MongoError: WiredTigerIndex::insert: key too large to index, failing  1025 { : "abc@xyz.com", "asdfghjkertyjk......"}

Так я создал индекс схемы.

schemaName.index({ email: 1, token: 1 });

1 Ответ

1 голос
/ 01 июня 2019

Я бы выбрал другой подход, поскольку индексирование большого текстового / строкового поля не всегда является наилучшим вариантом.

Используйте SHA1 или MD5, чтобы сгенерировать уникальную контрольную сумму строки JWT (которая даст вам постоянную длину строки) и сохранить это поле. Индекс и поиск по этому полю

Другой вариант - декодировать токен JWT в JSON и сохранять его как внедренный документ - и затем вы можете индексировать документ (но это рискованный вариант, ИМХО)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...