NodeJS和MongoDB中的过滤器出现问题

时间:2018-09-28 19:21:06

标签: javascript node.js mongodb ecmascript-6 ecmascript-2017

使用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);
            }
        });
    });
}

This is response over postman

1 个答案:

答案 0 :(得分:0)

您不需要用Promise包裹整个内容,因为exec gives you已经是一个成熟的东西:

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

同样,在您的情况下,您正在兑现承诺,并且没有退还任何东西(应为return Empresa.find(...)。在上面的代码中,我们使用ES6隐式返回。