Javascript MongoClient连接中出现语法错误

Javascript MongoClient连接中出现语法错误,javascript,node.js,mongodb,express,mlab,Javascript,Node.js,Mongodb,Express,Mlab,以下是我的服务器告诉我的: MongoClient.connect('mongodb://<'yoda'>:<'yoda69'>@ds235778.mlab.com:35778/satr-wars-quotes', (err, client) => { ^^^^^^^^^^^^^ SyntaxError: missing ) after argument list MongoClient.connect('mongodb:/

以下是我的服务器告诉我的:

MongoClient.connect('mongodb://<'yoda'>:<'yoda69'>@ds235778.mlab.com:35778/satr-wars-quotes', (err, client) => {
                    ^^^^^^^^^^^^^
SyntaxError: missing ) after argument list
MongoClient.connect('mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes',(错误,客户端)=>{
^^^^^^^^^^^^^
SyntaxError:在参数列表之后缺少)
代码如下:

MongoClient.connect('mongodb://<'yoda'>:<'yoda69'>@ds235778.mlab.com:35778/satr-wars-quotes', (err, client) => {
  if (err) return console.log(err)
  db = client.db('satr-wars-quotes')
  app.listen(3000, () => {
    console.log('listening on 3000')
  })
})
MongoClient.connect('mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes',(错误,客户端)=>{
if(err)返回console.log(err)
db=client.db('satr-wars-quotes'))
app.listen(3000,()=>{
console.log('监听3000')
})
})

我只是看不出这个语法错误是在哪里发生的。

单引号字符串中有单引号。我建议,或者双引号字符串,里面有单引号(或反引号)。请注意以下几点

"mongodb://<'yoda'>:<'yoda69'>@ds235778.mlab.com:35778/satr-wars-quotes"
“mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes”

至于你的连接字符串是否正确,我不确定,但这会修复你的直接语法错误。

你的单引号字符串中有单引号。我建议,或者双引号字符串,里面有单引号(或反引号)。注意以下几点

"mongodb://<'yoda'>:<'yoda69'>@ds235778.mlab.com:35778/satr-wars-quotes"
“mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes”

至于您的连接字符串是否正确,我不确定,但这会修复您的即时语法错误。

什么是
yoda
yoda69
?它们是变量名还是文字字符串

如果它们是变量名,则需要使用
+
运算符将它们附加到字符串中,或者使用ES6模板字符串将它们的值插入到较大的字符串中:

'mongodb://<' + yoda + '>:<' + yoda69 + '>@ds235778.mlab.com:35778/satr-wars-quotes'
'mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes'

`mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes`

如果它们是文字字符串,请参阅scniro的答案。

什么是
yoda
yoda69
?它们是变量名还是文字字符串

如果它们是变量名,则需要使用
+
运算符将它们附加到字符串中,或者使用ES6模板字符串将它们的值插入到较大的字符串中:

'mongodb://<' + yoda + '>:<' + yoda69 + '>@ds235778.mlab.com:35778/satr-wars-quotes'
'mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes'

`mongodb://:@ds235778.mlab.com:35778/satr-wars-quotes`

如果它们是文字字符串,请参阅scniro的答案。

@scniro哎呀,这是我的疏忽,在我发布我的答案之前没有检查发布的答案(当我开始回答时没有答案)。我将编辑掉关于使用双引号的部分。因此,这是我用mLab创建的URL,这是我在项目中尝试连接MongoClient的用户名和用户密码。老实说,我认为我甚至不需要在用户名和用户密码的标记中使用这些引号,但当它们不存在时,我尝试运行t时会出现此错误服务器:错误:用户名包含非法的未替换字符。知道这告诉我什么吗?@kalex我很确定正确的格式是
mongodb://username:password@…
(不带引号或
)@tverghis你是对的,我误解了mlab的语法。谢谢!@scniro哇,这是我的疏忽,在我发布我的答案之前没有检查发布的答案(当我开始回答时没有答案)。我将编辑掉关于使用双引号的部分。因此,这是我用mLab创建的URL,这是我在项目中尝试连接MongoClient的用户名和用户密码。老实说,我认为我甚至不需要在用户名和用户密码的标记中使用这些引号,但当它们不存在时,我尝试运行t时会出现此错误服务器:错误:用户名包含非法的未替换字符。知道这告诉我什么吗?@kalex我很确定正确的格式是
mongodb://username:password@…
(没有引号或
)@tverghis你是对的,我误解了mlab的语法。谢谢!