嗨,我从昨天起就遇到了这个小问题。 所以在这里,我只是想从Mongodb获取与我的参数url匹配的url,然后重定向到返回的original_url。 它似乎工作一次,但当我再次调用它。我给了我一个错误。 我从Mongodb尝试了许多不同的方法,仍然无法使它工作。 以下是电话:
const func = (short_url, cb) => {
db.collection('urls')
.find({short_url: short_url})
.each((err, doc) => {
if(err) console.log(err);
if(doc) {
cb(doc.original_url)
} else {
console.log('You came back');
}
db.close();
});
};
app.get('/:url', (req, res) => {
const currentUrl = `https://${req.headers.host}/${req.params.url}`;
const cb = (url) => {
res.redirect(url);
};
func(currentUrl, cb);
});
当它第一次触发时,它获取返回的值,但同时它返回到func函数并返回'你回来' console.log。
下次我调用同一个网址时,它会给我这个错误:
TypeError: Cannot read property 'each' of undefined
我不知道如何对其进行排序。我精疲力尽了。 提前致谢。