TypeError:result.slice不是函数

时间:2018-10-28 01:20:25

标签: node.js mongodb mongoose promise

我正在尝试使用节点/猫鼬运行多个mongodb查询。我有非常相似的代码在同一个文件中工作,但不在同一个路由中。区别在于查询(相同的格式只是不同的搜索参数)和res.render行。

我已经完成了大约一个小时的谷歌搜索和搜索堆栈溢出的工作,到目前为止,发现没有任何帮助。

错误消息

TypeError: result.slice is not a function
    at results.map.result (/home/ubuntu/workspace/sailhr/server/routes/hr.js:73:58)
    at Array.map (native)
    at Promise.all.then.results (/home/ubuntu/workspace/sailhr/server/routes/hr.js:73:36)
    at process._tickDomainCallback (internal/process/next_tick.js:135:7)

代码

let queries = [
        User.findById(req.params.id, function(err, foundUser){
           if(err){
               req.flash('error', 'Could not find the user requested.');
           }
        }),
        User.find({companyID: req.user.companyID, role: "manager" }, function(err, allManagers){
           if(err){
               req.flash('error', 'Could not find all company managers.');
           }
        })
        ];
        Promise.all(queries)
            .then(results => (results.map(result => (result.slice(1)))))
            .then(adaptedResults => res.render('user/profileEdit', {header: 'EDIT USER PROFILE', Employee: adaptedResults[0], managers: adaptedResults[1]}))
            .catch(err => {
                console.log(err)
                req.flash('error', err[0]);
                res.redirect('/users');
            });

0 个答案:

没有答案