Ошибка подключения к Atlas MongoDB с помощью узла JS - PullRequest
2 голосов
/ 31 октября 2019

Я пытаюсь подключиться к atlas mongo db, используя узел js. Но получая ошибку TypeError: Cannot read property 'db' of null Я создал кластер в атласе и дал полные права пользователю aayushg , а также создал db 'test'

index.js

const express = require('express')
const bodyParser= require('body-parser') 
const app = express()  
app.use(bodyParser.urlencoded({extended: true}))

const MongoClient = require('mongodb').MongoClient;

// replace the uri string with your connection string.
const url = "mongodb+srv://aayushg:<aayushg18>@cluster0-fatp8.mongodb.net/test?retryWrites=true&w=majority";

const client = new MongoClient(url, { useNewUrlParser: true });
client.connect((err, database) => {
 db = database.db("test")
 app.listen(3000, function () {
 })
  app.get('/', (req, res) => {
       //res.send('PDP')
       res.sendFile(__dirname + '/index.html')   
    })
  app.post('/quotes', (req, res) => { 
      db.collection('devices').save(req.body, (err, result) => {
         if (err) return console.log(err)
         console.log('saved to database')
         res.redirect('/')
       })
    })
})

СКРИНШОТ CMD enter image description here

Ответы [ 2 ]

3 голосов
/ 31 октября 2019

Итак, ошибка была связана с учетными данными, которые вы предоставляете с помощью if(err) throw err, вы можете увидеть, что ошибка касается учетных данных. Теперь вы должны добавить правильные учетные данные, это будет работать нормально. Вы используете <aayushg18> вместо aayushg18 Спасибо.

1 голос
/ 31 октября 2019

У меня твоя проблема. Ваше соединение не в правильном формате. Не используйте знак <> при вводе пароля. Заменить <aayushg18> на aayushg18 следующим образом:

const uri = "mongodb+srv://aayushg:aayushg18@cluster0-fatp8.mongodb.net/test?retryWrites=true&w=majority";
...