Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 在Express中作为req.params的Url_Mongodb_Express_Routes_Url Parameters - Fatal编程技术网

Mongodb 在Express中作为req.params的Url

Mongodb 在Express中作为req.params的Url,mongodb,express,routes,url-parameters,Mongodb,Express,Routes,Url Parameters,我想使用express和MongoDB查找基于URL的文档 我的模式包括 bandUrl: { type: String } 这是我在Express服务器内部的路由 // Get Single Band By bandUrl router.get('/bandUrl/:url', (req, res) => { quoteGenerator.find({bandUrl: req.params.url}).then(gen => res.json(ge

我想使用express和MongoDB查找基于URL的文档

我的模式包括

bandUrl: {
        type: String
    }
这是我在Express服务器内部的路由

// Get Single Band By bandUrl
router.get('/bandUrl/:url', (req, res) => {
    quoteGenerator.find({bandUrl: req.params.url}).then(gen => res.json(gen))
})
我将其中一个文档的bandUrl设置为'http://localhost:3000/"

我使用URL以外的其他东西测试了路由-只需使用字符串就可以了。。。不过我真的很想使用URL。有办法做到这一点吗

这是我申请表上的假/测试路线

const getFakeInfo = async () => {
    try {
        const response = await fetch(`/api/autoquotegenerators/bandUrl/http://localhost:3000/"`, {
            method: 'GET',
        })
        const responseData = await response.json()

        console.log(responseData)

    } catch (error) {
        console.log(error)
    }
}
我认为URL中额外的斜杠是导致问题的原因


谢谢你的帮助

要使用的是
encodeURIComponent()
。此函数将转义所有特定于URI的字符,以便正确解释它们。您的请求代码应该如下所示:

const response = await fetch(`/api/autoquotegenerators/bandUrl/${encodeURIComponent("http://localhost:3000/")}`, {
    method: 'GET',
})

如果您想了解有关此函数的更多信息,可以查看。

您想使用的是
encodeURIComponent()
。此函数将转义所有特定于URI的字符,以便正确解释它们。您的请求代码应该如下所示:

const response = await fetch(`/api/autoquotegenerators/bandUrl/${encodeURIComponent("http://localhost:3000/")}`, {
    method: 'GET',
})
如果你想了解更多关于这个函数的信息,你可以浏览一下