express.js code
var mongoose = require("mongoose");
const { db } = require("../../models/userModel");
mongoose.connect("mongodb://cnoxbeta:abdf1234@cnox-beta-document-db.cluster-cvzxy5kwx8pn.us-west-2.docdb.amazonaws.com:27017/cnox?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false");
error:
(node:1239) UnhandledPromiseRejectionWarning: Error: error:0909006C:PEM routines:get_name:no start line
at Object.createSecureContext (_tls_common.js:149:17)
at Object.connect (_tls_wrap.js:1580:48)
at makeConnection (/home/ubuntu/cnox-webbackend/node_modules/mongoose/node_modules/mongodb/lib/cmap/connect.js:274:31)
at connect (/home/ubuntu/cnox-webbackend/node_modules/mongoose/node_modules/mongodb/lib/cmap/connect.js:33:5)
at checkServer (/home/ubuntu/cnox-webbackend/node_modules/mongoose/node_modules/mongodb/lib/sdam/monitor.js:201:27)
at /home/ubuntu/cnox-webbackend/node_modules/mongoose/node_modules/mongodb/lib/sdam/monitor.js:231:9
at executeAndReschedule (/home/ubuntu/cnox-webbackend/node_modules/mongoose/node_modules/mongodb/lib/utils.js:791:9)
at makeInterruptibleAsyncInterval (/home/ubuntu/cnox-webbackend/node_modules/mongoose/node_modules/mongodb/lib/utils.js:798:9)
at Monitor.connect (/home/ubuntu/cnox-webbackend/node_modules/mongoose/node_modules/mongodb/lib/sdam/monitor.js:87:71)
at Server.connect (/home/ubuntu/cnox-webbackend/node_modules/mongoose/node_modules/mongodb/lib/sdam/server.js:100:28)
(Use `node --trace-warnings ...` to show where the warning was created)
I am using aws document db to connect my node application . I am able to access mongo db using shell so mongodb is fine and access ip whitelisting is fine. Something wrong in the connection . Please take a look how can i fix this
Note: I am able to connect using shell
CodePudding user response:
Check the Mongoose
version in the package.json
file.
With version v6
you should not add useNewUrlParser
and useUnifiedTopology
options, so you should remove these options. Mongoose will set them to true
by default.
CodePudding user response:
Can you try this?
mongoose.connect('mongodb://<user>:<pass>@cnox-beta-document-db.cluster-cvzxy5kwx8pn.us-west-2.docdb.amazonaws.com:27017/cnox?replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false', {
ssl: true,
sslValidate: true,
sslCA: `path_to/rds-combined-ca-bundle.pem`
});
PS: You might want to remove the credentials from your initial question.