Hướng dẫn node js mongodb connection error - lỗi kết nối nút js mongodb

C: \ Mynodeprojects \ test> Ứng dụng nút Khởi động trên 300 không thể kết nối với máy chủ [localhost: 27017] khi kết nối đầu tiên [Mongoerror: geta ddrinfo enoent localhost: 27017]

Bưu kiện : -

{
  "name": "test",
  "version": "1.0.0",
  "description": "simple test app",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "hukam thakur",
  "license": "ISC",
  "dependencies": {
    "express": "^4.16.2",
    "mongodb": "^2.2.33",
    "mongoose": "^4.10.8",
    "sudo": "^1.0.3"
  }
}

Kết nối DB ở đây: -

var mongoose = require('mongoose');

var mongoURI = "mongodb://localhost:27017/test";
var MongoDB = mongoose.connect(mongoURI).connection;
MongoDB.on('error', function(err) { console.log(err.message); });
MongoDB.once('open', function() {
  console.log("mongodb connection open");
}); 

Trên trang này

  • Làm thế nào để sửa lỗi "MongoSerVerselectionError: Kết nối EconnRefusS :: 1: 27017" Lỗi?
  • Sự khác biệt giữa "ConnectTimeOutms", "sockettimeoutms" và "MaxTimems" là gì?
  • Làm thế nào tôi có thể ngăn người lái xe bị treo trong khi kết nối hoặc chi tiêu quá lâu để cố gắng đạt được các bộ bản sao không thể truy cập?
  • Tôi có nên sử dụng "sockettimeoutms" như một cách ngăn chặn các hoạt động chạy dài làm chậm máy chủ không?
  • Làm thế nào tôi có thể ngăn ngừa ổ cắm ra ngoài trước khi chúng hoạt động?
  • Giá trị của "0" có nghĩa là gì đối với "ConnectIneoutms" và "sockettimeoutms"?
  • Làm thế nào tôi có thể ngăn chặn các hoạt động chạy dài làm chậm máy chủ?
  • Cài đặt "Keepalive" làm gì?
  • Tôi có thể làm gì nếu tôi trải qua hành vi mạng bất ngờ?
  • Tôi có thể làm gì nếu tôi nhận được "econnreset" khi gọi "client.connect ()"?
  • Làm thế nào tôi có thể ngăn chặn hoạt động chậm trì hoãn các hoạt động khác?
  • Làm thế nào tôi có thể đảm bảo chuỗi kết nối của tôi hợp lệ cho một bộ bản sao?

Các câu hỏi thường gặp

Bắt đầu với phiên bản 17, Node.js mặc định sử dụng IPV6. Bạn có một vài tùy chọn để giải quyết lỗi này:

  • Bắt đầu mongod của bạn ở chế độ IPV6 bằng cờ --IPV6 hoặc đặt tùy chọn

    var mongoose = require('mongoose');
    
    var mongoURI = "mongodb://localhost:27017/test";
    var MongoDB = mongoose.connect(mongoURI).connection;
    MongoDB.on('error', function(err) { console.log(err.message); });
    MongoDB.once('open', function() {
      console.log("mongodb connection open");
    }); 
    
    1 thành
    var mongoose = require('mongoose');
    
    var mongoURI = "mongodb://localhost:27017/test";
    var MongoDB = mongoose.connect(mongoURI).connection;
    MongoDB.on('error', function(err) { console.log(err.message); });
    MongoDB.once('open', function() {
      console.log("mongodb connection open");
    }); 
    
    2 trong tệp cấu hình của bạn.the --ipv6 flag, or setting the
    var mongoose = require('mongoose');
    
    var mongoURI = "mongodb://localhost:27017/test";
    var MongoDB = mongoose.connect(mongoURI).connection;
    MongoDB.on('error', function(err) { console.log(err.message); });
    MongoDB.once('open', function() {
      console.log("mongodb connection open");
    }); 
    
    1 option to
    var mongoose = require('mongoose');
    
    var mongoURI = "mongodb://localhost:27017/test";
    var MongoDB = mongoose.connect(mongoURI).connection;
    MongoDB.on('error', function(err) { console.log(err.message); });
    MongoDB.once('open', function() {
      console.log("mongodb connection open");
    }); 
    
    2 in your configuration file.

    Bắt đầu mongod với cờ --IPV6

    Đặt tùy chọn Net.IPV6 trong tệp cấu hình

  • Sử dụng rõ ràng

    var mongoose = require('mongoose');
    
    var mongoURI = "mongodb://localhost:27017/test";
    var MongoDB = mongoose.connect(mongoURI).connection;
    MongoDB.on('error', function(err) { console.log(err.message); });
    MongoDB.once('open', function() {
      console.log("mongodb connection open");
    }); 
    
    3 bằng cách chỉ định
    var mongoose = require('mongoose');
    
    var mongoURI = "mongodb://localhost:27017/test";
    var MongoDB = mongoose.connect(mongoURI).connection;
    MongoDB.on('error', function(err) { console.log(err.message); });
    MongoDB.once('open', function() {
      console.log("mongodb connection open");
    }); 
    
    4 là một tùy chọn cho Mongoclient của bạn.option to your MongoClient.

    const client = new MongoClient(uri, {
    family: 4,
    });

Cài đặt

Sự mô tả

Connectimeoutms

var mongoose = require('mongoose');

var mongoURI = "mongodb://localhost:27017/test";
var MongoDB = mongoose.connect(mongoURI).connection;
MongoDB.on('error', function(err) { console.log(err.message); });
MongoDB.once('open', function() {
  console.log("mongodb connection open");
}); 
5 là một tùy chọn kết nối đặt thời gian, trong mili giây, cho một kết nối riêng lẻ từ nhóm kết nối của bạn để thiết lập kết nối TCP đến máy chủ MongoDB trước khi hết thời gian.

Mẹo

Để sửa đổi thời gian cho phép để Mongoclient.Connect thiết lập kết nối với máy chủ MongoDB, hãy sử dụng tùy chọn

var mongoose = require('mongoose');

var mongoURI = "mongodb://localhost:27017/test";
var MongoDB = mongoose.connect(mongoURI).connection;
MongoDB.on('error', function(err) { console.log(err.message); });
MongoDB.once('open', function() {
  console.log("mongodb connection open");
}); 
6 thay thế.MongoClient.connect to establish a connection to a MongoDB server, use the
var mongoose = require('mongoose');

var mongoURI = "mongodb://localhost:27017/test";
var MongoDB = mongoose.connect(mongoURI).connection;
MongoDB.on('error', function(err) { console.log(err.message); });
MongoDB.once('open', function() {
  console.log("mongodb connection open");
}); 
6 option instead.

Mặc định: 10000 10000

Sockettimeoutms

var mongoose = require('mongoose');

var mongoURI = "mongodb://localhost:27017/test";
var MongoDB = mongoose.connect(mongoURI).connection;
MongoDB.on('error', function(err) { console.log(err.message); });
MongoDB.once('open', function() {
  console.log("mongodb connection open");
}); 
7 Chỉ định lượng thời gian người lái chờ một ổ cắm không hoạt động trước khi đóng nó. Giá trị mặc định là không bao giờ hết thời gian. Tùy chọn này chỉ áp dụng cho các ổ cắm đã được kết nối.

tối đa

MaxTimems là lượng thời gian tối đa mà máy chủ nên chờ một hoạt động hoàn thành sau khi nó đến máy chủ. Nếu một thao tác chạy trên giới hạn thời gian được chỉ định, nó sẽ trả về lỗi thời gian chờ. is the maximum amount of time the server should wait for an operation to complete after it has reached the server. If an operation runs over the specified time limit, it returns a timeout error.

MongoError: Không thể kết nối với máy chủ

Trong hướng dẫn Node.js này, chúng ta sẽ học cách sửa chữa & nbsp; Mongoerror: Không thể kết nối với Server & nbsp; bằng cách điều tra các kịch bản có thể kích hoạt lỗi này.MongoError: failed to connect to server by investigating into the scenarios that could trigger this error.

Để sửa chữa & nbsp; node.js MongoError: Không thể kết nối với máy chủ, hãy làm theo hai điểm kiểm traMongoError: failed to connect to server, follow the two checkpoints

  1. Hãy chắc chắn rằng dịch vụ MongoDB đang hoạt động.
  2. URL bạn cung cấp cho phương thức Mongoclient.connect () phải đúng.

Cách xác minh xem Dịch vụ MongoDB có hoạt động không

Bắt đầu vỏ Mongo nên xác minh điều này.

Nếu dịch vụ MongoDB của bạn không tăng, bạn sẽ gặp lỗi trong thiết bị đầu cuối như dưới đây.

Thiết bị đầu cuối - khởi động vỏ Mongo

arjun@tutorialkart:~/workspace/nodejs/mongodb$ mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
2017-10-30T14:32:21.476+0530 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-10-30T14:32:21.477+0530 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed

Bắt đầu dịch vụ MongoDB của bạn với lệnh bên dưới:

sudo service mongod start

Không có lỗi được báo cáo khi bạn bắt đầu Mongo Daemon, Mongod.

Và khi dịch vụ được tăng lên, và vỏ Mongo được bắt đầu,

Thiết bị đầu cuối - vỏ Mongo

arjun@tutorialkart:~/workspace/nodejs/mongodb$ mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.9

Làm thế nào để đảm bảo rằng URL là chính xác?

Khi chúng ta bắt đầu Mongo Shell, MongoDB ghi URL vào Terminal, tương tự như một cái gì đó như dưới đây:

connecting to: mongodb://127.0.0.1:27017

MongoDB: //127.0.0.1: 27017 là URL cơ sở. is the base url.

Đảm bảo rằng bạn đang cung cấp cùng một URL cơ sở (cùng IP và cổng) trong ứng dụng Node.js của bạn.

node-js-mongodb-connection.js

// URL at which MongoDB service is running
var url = "mongodb://localhost:27017";

// A Client to MongoDB
var MongoClient = require('mongodb').MongoClient;

// Make a connection to MongoDB Service
MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  console.log("Connected to MongoDB!");
  db.close();
});

Sự kết luận

Trong hướng dẫn MongoDB của Node.js - & NBSP; Node.js MongoError: Không thể kết nối với máy chủ, chúng tôi đã học được một số điểm kiểm tra để khắc phục lỗi.Node.js MongoError: failed to connect to server, we have learned some of the checkpoints to fix the error.

Tải xuống PDF - Khắc phục Node.js MongoError: Không thể kết nối với máy chủ

Tại sao MongoDB của tôi không kết nối?

Nếu bạn đã tạo người dùng và gặp khó khăn trong việc xác thực, hãy thử những điều sau: Kiểm tra xem bạn đang sử dụng đúng tên người dùng và mật khẩu cho người dùng cơ sở dữ liệu của mình và bạn đang kết nối với việc triển khai cơ sở dữ liệu chính xác. Kiểm tra xem bạn có chỉ định cơ sở dữ liệu AuthSource chính xác trong chuỗi kết nối của bạn không.Check that you are using the correct username and password for your database user, and that you are connecting to the correct database deployment. Check that you are specifying the correct authSource database in your connection string.

Node JS kết nối với MongoDB như thế nào?

Để kết nối một nút.Ứng dụng JS cho MongoDB, chúng ta phải sử dụng một thư viện tên là Mongoose.Mongoose.Connect ("MongoDB: // LocalHost: 27017/CollectionName", {UsenewurlParser: true, useUnifiedTopology: true});mongoose. connect("mongodb://localhost:27017/collectionName", { useNewUrlParser: true, useUnifiedTopology: true });

Làm cách nào để kết nối với kết nối MongoDB?

Để kết nối với máy chủ MongoDB bằng tên người dùng và mật khẩu, bạn phải sử dụng 'tên người dùng@hostname/dbname'.Trong đó tên người dùng là tên người dùng, mật khẩu là mật khẩu cho người dùng đó và dbName là cơ sở dữ liệu mà bạn muốn kết nối.Lưu ý: Bạn có thể sử dụng nhiều tên máy chủ để kết nối với một lệnh.username@hostname/dbname'. Where username is the username, password is the password for that user and dbname is the database to which you want to connect to. Note : You can use multiple hostname to connect to with a single command.

Chúng ta có thể sử dụng MongoDB với Node JS không?

MongoDB là một nền tảng dữ liệu định hướng tài liệu hiện đại, có mục đích chung, đã được kết hợp rộng rãi với Node.js trong các ngăn xếp công nghệ phổ biến như Stack trung bình (MongoDB, Express. JS, Angularjs và Node. JS) và Stack Mern (MongoDB, Express.has been widely paired with Node. js in popular tech stacks such as the MEAN stack (MongoDB, Express. js, AngularJS, and Node. js) and the MERN stack (MongoDB, Express.