Mongo предоставляет несколько способов выполнить запрос с критериями длины - $where
или $regex
- два отличных варианта, однако я бы рекомендовал использовать $regex
из-за лучшей производительности запроса.
Принимает либо выражение JavaScript, либо функцию в запросах
Пример:
db.collection.find({ $where: 'this.name.length >= 7 && this.name.length <= 14' })
Примечание: оператор $where
не будет использовать ваши индексы базы данных, что приведет к гораздо более медленному запросу.- Источник
Предоставляет возможности регулярных выражений для шаблонасоответствующие строки в запросах
Пример:
db.collection.find({ name: { $regex: /^.{7,14}$/ } })
Примечание. Оператор $regex
использует преимущества индексов вашей базы данных, что приводит к гораздо более быстрому результату.запрос (если ваша коллекция проиндексирована правильно).- Источник