Home > database >  aws document db not working from node.js application
aws document db not working from node.js application

Time:04-19

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`
});

Reference.

PS: You might want to remove the credentials from your initial question.

  • Related