TypeError: невозможно прочесть свойство «db» неопределенного значения. при использовании атласа mongodb, но без ошибок при использовании mongodb локально - PullRequest
0 голосов
/ 11 июля 2020

Я получаю сообщение об ошибке, когда использую атлас mongodb, но при использовании mongodb локально (mon go установлен на моем компьютере) код работает очень хорошо, без ошибок.

http.listen(3000, function(){
console.log("Server started");

mongoClient.connect("mongodb+srv://<username>:<password>@myname.anjzd.mongodb.net/<dbname>?retryWrites=true&w=majority", function(error, client){
   var database = client.db("mydatabase");
   console.log("Database connected.");
});

1 Ответ

0 голосов
/ 11 июля 2020

Это потому, что у вас есть error из этого обратного вызова, и поэтому ваш client будет установлен на null.

Я предполагаю, что ошибка возникает из вашего URL-адреса, который вы поместили внутри connect. <username>, <password> и <dbname> являются заполнителями для вашего настоящего имени пользователя, пароля и имени базы данных соответственно. скажите, что ваше настоящее имя пользователя, пароль и база данных - ABC, 123 и myDB соответственно, тогда ваш URL-адрес подключения будет примерно таким:

let url = "mongodb+srv://ABC:123@myname.anjzd.mongodb.net/myDB?retryWrites=true&w=majority"

Если ошибка вызвана чем-то другим, вы может обработать это должным образом, чтобы определить причину.

mongoClient.connect(url, function(error, client){
  if (error) return console.log(error);
  var database = client.db("mydatabase");
  console.log("Database connected.");
});
...