Mongodb (Mongoose) .find() как искать не полное совпадение?
Скажем мне нужно найти в бд все обекту у которых свойство "string" содержит часть искомого значения, к примеру мы ищем все обьекты у которых свойство "string" равно или содержит значение по искомй строке.
Скажем у нас есть искомая фраза: let value = "serg"
и мне теперь нужно найти все обьекты в таблицу "Users" у которых свойство name содержит или равно этой строке:
Users.find({name: value});
но при таком поиске идет строгое сравнение, есть варианты добиться чего то на подобии ~name.indexof(value) и если уловие верное то обьект будет включен в массив выдачи?
1) Если кол-во искомых слов не большое, то можно сделать массив в документе и там хранить.
2) Использовать текстовый индекс
3) Если коллекция небольшая то можно $regex, но на больших коллекциях будет тормозить т.к. это полный перебор всех документов.