如何将MongoDB Atlas与Node.js连接

时间:2019-05-14 11:09:12

标签: node.js mongodb mongoose mongodb-atlas

我正在尝试使用nodejs程序连接刚刚创建的mongodb atas数据库,但出现此错误:

  

错误:无效的mongodb uri   “ mongodb + srv:// loginr:aqpass5@cluster0-ymz55.mongodb.net/barcode?retryWrites = true”。   必须以“ mongodb://”开头

export default {
    "mongoUrl": "mongodb+srv://user:password@cluster0-ymz55.mongodb.net/barcode?retryWrites=true", 
}
import mongoose from 'mongoose';
import config from '../config/index';

mongoose.Promise = global.Promise;

const connectToDb = async () => {
    try {
        await mongoose.connect(config.mongoUrl, { useMongoClient: true });
        logger.info('Connected to mongo!!!');
    }
    catch (err) {
        console.log(err);
        logger.error('Could not connect to MongoDB');
    }
}

export default connectToDb;

1 个答案:

答案 0 :(得分:0)

取决于您的结构...我在文件夹“ setup”中有“ myurl”文件,而在该映射之外有index.js文件。

在myurl文件中:

module.exports = {
mongoURL:"mongodb+srv://username:Password@cluster0-8htmv.mongodb.net/test?retryWrites=true&w=majority"};

确保正确的用户具有正确的密码。

在“ index.js”文件中:

const db = require('./setup/myurl').mongoURL; //directs to your other js-file

mongoose
.connect(db,**{useNewUrlParser: true, //this part is fairly new
    useUnifiedTopology: true}**)
.then(() => console.log("Success"))
.catch(err => console.log(err)); 

祝你好运