Живой поиск React-Native + Meteor

Мне интересно, как лучше всего осуществлять поиск в реальном времени с помощью Meteor и React-Native.

Поэтому мы должны выполнить поиск внутри коллекции MongoDB.

Каков наилучший способ? Подписываться каждый раз, когда текст меняется? Подпишитесь один раз и получите все данные, а в локальной фильтрации данные? ...

Спасибо!


person Charles-olivier Demers    schedule 02.10.2017    source источник


Ответы (1)


Зависит от размера коллекции для поиска.

  • Если он очень большой, используйте подписку со строкой поиска в качестве параметра. Однако дросселируйте поиск, чтобы он выполнялся только каждые 500 мс или около того. Обычно вам не нужно выполнять поиск по каждому введенному символу.
  • Если коллекция небольшая, просто подпишитесь на всю и запустите поиск на клиенте.

Вариантом поиска на стороне клиента является то, что вы просто публикуете поле, в котором собираетесь искать, а затем, когда документ найден, вы подписываетесь на публикацию, которая предоставляет вам остальные поля для этого документа.

person Michel Floyd    schedule 03.10.2017
comment
Спасибо за ваш ответ! Но когда мне нужно учитывать, что моя коллекция достаточно велика, чтобы иметь подпрограмму с искомым запросом? - person Charles-olivier Demers; 03.10.2017
comment
Это суждение, но для меня, если загрузка займет более полсекунды. Конечно, это будет зависеть от доступной пропускной способности. - person Michel Floyd; 03.10.2017