Mongoose和Mongodb的随机错误:未授权执行命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongoose和Mongodb的随机错误:未授权执行命令相关的知识,希望对你有一定的参考价值。

我的应用程序在Mlab的MongoDB上运行NodeJS 9.5.0和mongoose 5.1.3。有时,我会得到一个not authorized to execute command,并简单重启节点进程修复了这个问题。可能导致这种情况的任何想法?

我的连接字符串:

// import environmental variables from our variables.env file
require('dotenv').config({ path: 'variables.env' });

// Connect to our Database and handle any bad connections
mongoose.connect(process.env.DATABASE);

并在我的variables.env(用户/通过/数据库编号编辑):

DATABASE=mongodb://<DBUSER>:<DBPASS>@ds0000-a0.mlab.com:0000,ds000000-a1.mlab.com:00000/app?replicaSet=rs-ds00000

我似乎无法隔离随机导致身份验证错误的内容。

答案

随便,呵呵。也许添加回调或承诺并捕获错误:

mongoose.connect(uri, options, function(error) {
  // Check error in initial connection. There is no 2nd param to the callback.
});

// Or using promises
mongoose.connect(uri, options).then(
  () => { /** ready to use. The `mongoose.connect()` promise resolves to 
  undefined. */ },
  err => { /** handle initial connection error */ }
);

资料来源:http://mongoosejs.com/docs/connections.html

以上是关于Mongoose和Mongodb的随机错误:未授权执行命令的主要内容,如果未能解决你的问题,请参考以下文章

集合未保存在 mongodb 中(来自 mongoose 填充文档的故事集合)

使用 Node.js、Mongoose 和 Discord.js 的未定义错误 [无法读取未定义的属性]

Mongoose 实例未保存到数据库,未显示错误

MongoDB:异步函数未完成或如何正确关闭与 mongoose 的连接

MongoDB:Auth机制未指定特定项目的错误

Mongoose 模型未定义