在处理一些新的(非常简单的(服务器代码时,我连接并插入了MongoDB URL代码,以便将其"部署"在MongoDB Atlas上。
但是,我收到以下警告:
(节点:3396( 弃用警告:当前 URL 字符串解析器是 已弃用,并将在将来的版本中删除。使用新的 parser, pass option { useNewUrlParser: true } to MongoClient.connect.
这不会阻止我的代码部署到服务器,并且仍然允许我使用本地测试工具(Postman(发送请求。但是,在发送请求后,我在 VS Code 中收到以下消息:
{ MongoError: user is not allowed to do action [insert] on [agenda.contacts]
at Connection.<anonymous> (C:Usersmymachineagendanode_modulesmongodb-corelibconnectionpool.js:443:61)
at Connection.emit (events.js:198:13)
at processMessage (C:Usersmymachineagendanode_modulesmongodb-corelibconnectionconnection.js:364:10)
at TLSSocket.<anonymous> (C:Usersmymachineagendanode_modulesmongodb-corelibconnectionconnection.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,因此我相信我的问题出在该软件上。
我只复制了连接字符串,而不是完整的驱动程序示例(两者都提供了一个代码,可以插入到 VS Code 中的代码中。
至于上面解决的(node(1234((问题,它是关于关于新版本的警告,即调用useNewUrlParser: true
而不是useMongoClient: true
。
至于"MongoError",我没有硬编码我的密码,而是拨打+ process.env.MONGO_ATLAS_PW +
并将我的密码发送到文件./nodemon.json
。
更改这两个错误后,代码运行顺利。但是,我将不得不找到一种发送密码的新方法,而不是对其进行硬编码。
谢谢所有帮助过的人。