Много е вероятно да попаднете на много често срещано затруднение в MongoDB. Тъй като актуализирате документи много често чрез добавяне на низове, има голям шанс да ви свърши мястото за този документ и да принудите базата данни непрекъснато да премества този документ в друго пространство в памет\диск, като го пренаписва в края на файла с данни.
Добавянето на индекси може само да навреди на производителността при запис, така че няма да помогне за подобряване на производителността, освен ако не сте натоварени с четене.
Бих обмислил промяна на логиката на приложението ви, за да направя това:
- Индекс на полето за ключови думи
- Преди да вмъкнете нещо в базата данни всеки път, когато откриете туит, потърсете документа, който съдържа ключовата дума. Ако не съществува, вмъкнете нов документ, но подпълнете
ids
свойство чрез добавяне на цял куп фалшиви низове в масива. След това веднага след като го поставите, премахнете всички идентификатори от този масив. Това ще накара mongodb да отдели допълнително място за целия този документ, така че когато започнете да добавяте идентификатори към полето за идентификатори, той ще има достатъчно място за растеж. - Вмъкнете идентификатора на туита в
ids
поле