I'm getting an error when submitting a form (bad request: 400 error).
{name: "MongoError", connectionId: 75476,
err: "not authorized for insert on database-name.shipper",…}
code: 13
connectionId:75476
err:"not authorized for insert on database-name.shipper"
n:0
name:"MongoError"
ok:1
It works fine when set up to record data in a local Mongo database, and I can see the data, but when I'm using mlab I get this error in the console when I try to submit the form to record the info in the database. When I start my app using nodemon app.js, I get: Express server listening on port 80 mongo :: connected to database :: "database-name"
This is my code I have in account-manager.js:
var crypto = require('crypto');
var moment = require('moment');
var stringify = require('json-stringify-safe');
var MongoDB = require('mongodb').Db;
var Server = require('mongodb').Server;
var mongoose = require('mongoose');
var dbName = process.env.DB_NAME || 'database-name';
var dbHost = process.env.DB_HOST || 'ds053176.mlab.com';
var dbPort = process.env.DB_PORT || 53176;
var dbUser = process.env.DB_USER || 'user@emailaddress.com';
var dbPass = process.env.DB_PASS || 'passwordtoaccount';
var db = new MongoDB(dbName, new Server(dbHost, dbPort, {auto_reconnect: true}), {w: 1});
db.open(function(e, d){
if(e) {
console.log(e);
} else {
if (process.env.NODE_ENV == 'live') {
db.authenticate(dbUser, dbPass, function(e, res) {
if (e) {
console.log('mongo :: error: not authenticated', e);
} else {
console.log('mongo :: authenticated and connected :: "'+dbName+'"');
}
});
} else {
console.log('mongo :: connected to database :: "'+dbName+'"');
}
}
});
var accounts = db.collection('accounts');
var shipper = db.collection('shipper');
var trucker = db.collection('trucker');
I've been looking for a solution but haven't found one. Any help or anyone who can lead me in the right direction would be greatly appreciated!