Поиск пользователя по введенной строке

303
30 декабря 2017, 05:13

Здравствуйте. Есть объект пользователь, у него есть поле description где описаны его интересы. Пользователь на сайте через знак # вводит данные(т.е. интересы) и нужно найти всех пользователей, у которых есть хоть один из введенных интересов. на js перешел вчера, но логика предыдущих яп говорит, что нужно перегрузить стандартный метод find(), но что-то у меня не получается

async findPeople(ctx, next){
    var search = ctx.request.body;
    var arr = JSON.stringify(search.search.toString().split("#"));
    console.log(arr);
    for(var i = 0; i < arr.length; i++){
        var user = await User.find({ description: function(){
            if(User.description.toString().indexOf(arr[i]) > -1){ 
              return User.description;
            }
            else{
             return "";
            }}
        });
    }
    ctx.result = user;
    await next();
},

в search я получаю в виде объекта строку, которую ввел пользователь, потом преобразую в массив строк. В User.find({ description: function()}) предполагается, что function() вернет результат, по которому и будет вестись поиск.

Скорее, это ближе к истине

user = await User.find({ description: function(){
            if(description.toString().indexOf(arr[i]) > -1){ 
              return search.search;
            }
            else{
             return "";
            }}
Answer 1

https://mongodb.github.io/node-mongodb-native/markdown-docs/queries.html

var conditions = [];
for(var i = 0; i < arr.length; i++){
  conditions.push({ description: new RegExp(arr[i]) });
}
var user = await User.find({ $or: conditions });
READ ALSO
Подключить свой js файл к чужому сайту

Подключить свой js файл к чужому сайту

Есть некий сайтРаботаю с ним в консоли (В образовательных целях)

266
Как подгрузить файлы которые были в gitignore?

Как подгрузить файлы которые были в gitignore?

Здравствуйте! Добавил файлы вgitignore (не подумал, что их не будет на сервере)

283
Обработка изображений в РHP [требует правки]

Обработка изображений в РHP [требует правки]

У меня система приватные сообщения написано на PHPЕсть регистрация,вход так далее

248
Apache процесс не умирает после отключения клиента, если RabbitMQ

Apache процесс не умирает после отключения клиента, если RabbitMQ

Я все еще пытаюсь использовать Server Side Events в моем проекте(Это как Long Polling на стероидах)

260