【发布时间】:2020-01-11 06:50:43
【问题描述】:
在处理一些新的(非常简单的)服务器代码时,我连接并插入了 MongoDB URL 代码,以便在 MongoDB Atlas 上“部署”它。
但是,我收到以下警告:
(node:3396) DeprecationWarning: 当前 URL 字符串解析器是 已弃用,并将在未来的版本中删除。要使用新 解析器,将选项 { useNewUrlParser: true } 传递给 MongoClient.connect。
这不会阻止我的代码部署到服务器,并且仍然允许我使用本地测试工具 (Postman) 发送请求。但是,在发送我的请求后,我在 VS Code 中收到以下消息:
{ MongoError: user is not allowed to do action [insert] on [agenda.contacts]
at Connection.<anonymous> (C:\Users\mymachine\agenda\node_modules\mongodb-core\lib\connection\pool.js:443:61)
at Connection.emit (events.js:198:13)
at processMessage (C:\Users\mymachine\agenda\node_modules\mongodb-core\lib\connection\connection.js:364:10)
at TLSSocket.<anonymous> (C:\Users\mymachine\agenda\node_modules\mongodb-core\lib\connection\connection.js:533:15)
at TLSSocket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at TLSSocket.Readable.push (_stream_readable.js:224:10)
at TLSWrap.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
ok: 0,
我怀疑这可能是版本错误,但这超出了我的专业领域。
我的设置非常简单,只在 MongoDB 网站上连接了 Atlas 集群。
MongoDB 仍然提供我需要的所有分析,所以它似乎没有问题。
我已经尝试将mongoClient.connect 代码从useMongoClient: true 更改为useNewUrlParser: true,但它只会将警告消息代码从(node:3396) 更改为(node:1092)。
mongoose.connect(
'*inserted mongodb url code, copied from CONNECTION STRING ONLY");
{
useNewUrlParser: true
}
由于我从未使用过 MongoDB,我相信我的问题出在那个软件上。
我只复制了 CONNECTION STRING 而不是完整的驱动程序示例(两者都提供了一个代码以插入到我在 VS Code 中的代码中。
【问题讨论】:
-
欢迎来到 Stack Overflow!这里有几个不同的问题,但需要注意的一点是,
(node:1234)中的数字只是表明代码的哪一行导致了错误或警告。如果编号发生变化,您也应该转到新的行号并在那里查找问题。 -
facepalm 感谢您的提醒。我只是不知道我的任何问题是什么。这绝对是一个注意小细节!谢谢!