停用警告后显示“不允许用户执行操作”

时间:2019-09-09 13:32:43

标签: node.js mongodb

在处理一些新的(非常简单的)服务器代码时,我连接并插入了MongoDB URL代码,以便在MongoDB Atlas上“部署”它。

但是,我收到以下警告:

  

(节点:3396)DeprecationWarning:当前URL字符串解析器为   已过时,将在以后的版本中删除。使用新的   解析器,将选项{useNewUrlParser:true}传递给MongoClient.connect。

这不会阻止我的代码部署到服务器,并且仍然允许我使用本地测试工具(邮递员)发送请求。但是,发送请求后,我在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)。 / p>

mongoose.connect(
    '*inserted mongodb url code, copied from CONNECTION STRING ONLY");
    {
        useNewUrlParser: true
    }

由于我从未使用过MongoDB,所以我认为我的问题出在该软件上。

我仅复制了CONNECTION STRING,而不是FULL DRIVER Example(两者均提供了要插入到VS Code中的代码中的代码。

1 个答案:

答案 0 :(得分:0)

关于上面解决的(node(1234))问题,这是关于新版本的警告,是调用useNewUrlParser: true而不是useMongoClient: true

关于“ MongoError”,我不是硬编码密码,而是调用+ process.env.MONGO_ATLAS_PW +并将密码发送到文件./nodemon.json

更改两个错误后,代码运行平稳。但是,我将不得不寻找一种新的发送密码的方式,而不是对其进行硬编码。

谢谢所有帮助过的人。