弃用警告之后的"User is not allowed to do action"



在处理一些新的(非常简单的(服务器代码时,我连接并插入了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

更改这两个错误后,代码运行顺利。但是,我将不得不找到一种发送密码的新方法,而不是对其进行硬编码。

谢谢所有帮助过的人。

相关内容

最新更新