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

use*_*871 8 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
    }
});
Run Code Online (Sandbox Code Playgroud)

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

thr*_*ool 1

当尝试连接到 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"]
Run Code Online (Sandbox Code Playgroud)

您还可能会收到以下错误:

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

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