проблема с фильтром в NodeJS и MongoDB

Создайте приложение с MongoDB и NodeJS в качестве внутреннего сервера. Получены некоторые companies детали из базы данных в соответствии с их category id, проблема в том, что информация не отображается ни в почтовом, ни в ионном проекте при вызове этого API.

Что делать, чтобы решить эту проблему?

Образец кода:

function filtrarPorCategoria(busqueda, regex) {
    return new Promise((resolve, reject) => {
        Empresa.find({ categoria: busqueda }, 'nombre estado').exec((err, empresas) => {
            if (err) {
                reject('Error al cargar las empresas', err);
            } else {
                console.log(empresas);
                resolve(empresas);
            }
        });
    });
}

Это ответ через почтальона


person rolex92    schedule 28.09.2018    source источник
comment
Выводит ли console.log что-нибудь? Кроме того, нам нужно взглянуть на ваши образцы данных монго, для которых запрос должен быть удовлетворительным.   -  person Suresh Prajapati    schedule 28.09.2018


Ответы (1)


Вам не нужно обертывать все это Promise, так как exec дает вам полноценный уже:

const getFn = (busqueda) =>
    Empresa.find({ categoria: busqueda }, 'nombre estado').exec()
      .then(empresas => console.log(empresas))
      .catch(err => console.log(err))  

Также в вашем случае конкретно вы имеете дело с обещанием и ничего не возвращаете (должно быть return Empresa.find(...). В приведенном выше коде мы используем неявный возврат ES6.

person Akrion    schedule 28.09.2018
comment
Возможно, вам придется добавить больше контекста (части вашего кода). Например, попробуйте console.log(empresas) прямо перед if и посмотрите, что там и т. д. - person Akrion; 29.09.2018