“没有授权___执行命令”与mLab + MongoDB ^ 3.0

时间:2017-12-21 01:52:37

标签: mongodb npm mlab

连接顺利,但在insert()上却抛出了这个错误。

var MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
var url = 'mongodb://____:____@ds125565.mlab.com:25565/heroku_w268n9pj';

MongoClient.connect(url, function(err, client) {
    assert.equal(null, err);
    db = client.db('temp');
    console.log("connected!");
    const collection = db.collection('temp');
    collection.insert([{
        something: please
    }
});

我看到了有关mLab帐户和凭据的其他一些答案,但我刚为此创建了一个新的管理员帐户。令人沮丧,因为它之前在v2.3中工作。

1 个答案:

答案 0 :(得分:0)

尝试连接到mlab数据库时,必须正确指定客户端。它位于连接字符串的末尾,紧跟在最后的正斜杠之后。

mlab_url = "mongodb://db_user_name:db_password@ds139725.mlab.com:39725/heroku_sd1fp182?retryWrites=false"
client = MongoClient(url)


db = client["heroku_sd1fp182"]
collection = db["coinHack"]

您可能还会收到错误:

此MongoDB部署不支持可重试的写入。请在您的连接字符串中添加retryWrites = false。

只需将“?retryWrites = false”添加到您的连接字符串中,如上所示。