Chia sẻ kết nối mongodb

Visual Studio Code có hỗ trợ tuyệt vời để làm việc với cơ sở dữ liệu MongoDB, dù là phiên bản của riêng bạn hay trong Azure với MongoDB Atlas. Với tiện ích mở rộng MongoDB cho Mã VS, bạn có thể tạo, quản lý và truy vấn cơ sở dữ liệu MongoDB từ bên trong Mã VS

Cài đặt tiện ích mở rộng

Hỗ trợ MongoDB cho Mã VS được cung cấp bởi tiện ích mở rộng MongoDB cho Mã VS. Để cài đặt tiện ích mở rộng MongoDB cho Mã VS, hãy mở chế độ xem Tiện ích mở rộng bằng cách nhấn ⇧⌘X (Windows, Linux Ctrl . Chọn tiện ích mở rộng MongoDB cho Mã VS. ) and search for 'MongoDB' to filter the results. Select the MongoDB for VS Code extension.

Chia sẻ kết nối mongodb

Kết nối với MongoDB

Khi bạn đã cài đặt tiện ích mở rộng MongoDB cho Mã VS, bạn sẽ nhận thấy có một chế độ xem Thanh hoạt động MongoDB mới. Chọn chế độ xem MongoDB và bạn sẽ thấy MongoDB Explorer

Chia sẻ kết nối mongodb

Để kết nối với cơ sở dữ liệu MongoDB, chọn Thêm kết nối và nhập chi tiết kết nối cho cơ sở dữ liệu rồi Kết nối, mặc định là máy chủ MongoDB cục bộ tại

//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // do some work here with the database.

    //Close connection
    db.close();
  }
});
5. Bạn cũng có thể nhập chuỗi kết nối, nhấp vào liên kết "kết nối với chuỗi kết nối" và dán chuỗi kết nối

Chia sẻ kết nối mongodb

Ghi chú. Đảm bảo máy chủ MongoDB của bạn (mongod. exe) đang chạy nếu bạn đang kết nối với máy chủ MongoDB cục bộ

Sau khi đính kèm, bạn có thể làm việc với máy chủ MongoDB, quản lý Cơ sở dữ liệu, Bộ sưu tập và Tài liệu MongoDB

Chia sẻ kết nối mongodb

Bạn có thể mở rộng cơ sở dữ liệu để xem các bộ sưu tập của chúng với lược đồ và chỉ mục của chúng và bạn có thể chọn các Tài liệu MongoDB riêng lẻ để xem JSON của chúng

Chia sẻ kết nối mongodb

Bạn cũng có thể đính kèm trình bao MongoDB vào kết nối đang hoạt động, chỉ bằng cách nhấp chuột phải vào chính kết nối đó

Chia sẻ kết nối mongodb

Ghi chú. Đảm bảo trình bao MongoDB (_______16 hoặc

//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // do some work here with the database.

    //Close connection
    db.close();
  }
});
7) đã được cài đặt và nằm trên đường dẫn của bạn. Trong cài đặt của tiện ích mở rộng, bạn có thể chọn trình bao bạn đang sử dụng

Lệnh MongoDB

Có các lệnh cụ thể của MongoDB có sẵn trong VS Code Command Palette ( ⇧⌘P (Windows, Linux Ctrl+Shift+P)) as well as through Explorer context menus.

Chia sẻ kết nối mongodb

Sử dụng sân chơi

Một trong những tính năng mạnh mẽ nhất của tích hợp VS Code MongoDB là Mongo Playgrounds. Sân chơi cho phép bạn tạo, chạy và lưu các lệnh MongoDB từ trình chỉnh sửa VS Code. Tạo một sân chơi mới với MongoDB. Tạo lệnh MongoDB Playground

Chia sẻ kết nối mongodb

Trong một sân chơi, bạn có thể tham khảo các thực thể và lệnh MongoDB và bạn nhận được IntelliSense phong phú khi bạn nhập. Sân chơi rất hữu ích cho các hoạt động và truy vấn cơ sở dữ liệu nguyên mẫu. Thực thi các dòng đã chọn trong truy vấn sân chơi với MongoDB. Chạy lệnh Selected Lines From Playground

Chia sẻ kết nối mongodb

Chia sẻ kết nối mongodb

MongoDB trên Azure

Bạn có thể dễ dàng tạo cụm MongoDB trên Azure miễn phí với MongoDB Atlas

Chọn Tạo cụm mới từ bảng điều khiển và chọn Azure làm Nhà cung cấp đám mây. Khi cụm được tạo, hãy kết nối với chuỗi kết nối do MongoDB Atlas cung cấp

Trong bài viết này chúng ta sẽ đi tìm hiểu làm thế nào để sử dụng MongoDB với Nodejs. MongoDB là một NoSQL, có hiệu suất cao rất nổi tiếng, nó được xây dựng với ý tưởng dựa trên tài liệu cấu trúc

Nội dung chính Hiển thị

  • 1. Tạo kết nối với MongoDB trong NodeJs
  • 2. Thêm, sửa và lấy dữ liệu trên MongoDB
  • 3. Làm việc với MongoDB bằng cách sử dụng mô-đun Mongoose ODM trong Node. js

Trong MongoDB, dữ liệu được lưu trữ dưới dạng một tài liệu, một tập tin của các cặp khóa-giá trị. Bạn có thể định nghĩa nhiều cơ sở dữ liệu trong MongoDB và mỗi cơ sở dữ liệu có nhiều bộ sưu tập, những bộ sưu tập này đơn giản là tập tin của các tài liệu được lưu dưới dạng cặp khóa-giá trị

Cấu trúc định nghĩa tài liệu cấu trúc được gọi là BSON(JSON nhị phân). BSON là một định dạng nhị phân của JSON và cũng hỗ trợ những kiểu dữ liệu như Ngày, những kiểu không được hỗ trợ trong định dạng JSON. MongoDB sẽ chuyển đổi JSON sang BSON và đổi lại lợi ích hiệu suất cao, mặc dù người dùng có thể lưu, truy vấn và nhận dữ liệu dưới dạng JSON

1. Tạo kết nối với MongoDB trong NodeJs

Để làm việc với cơ sở dữ liệu, đầu tiên bạn cần tạo một kết nối. Trong mục này của bài viết, chúng ta sẽ sử dụng 'trình điều khiển NodeJs gốc' của MongoDB để tạo kết nối với máy chủ MongoDB. Để cài đặt trình điều khiển của MongoDB, hãy sử dụng lệnh npm. Sau đó, chạy lệnh bên dưới trong project project của bạn

 > npm install mongodb

Tiếp theo, bạn nên tạo một tệp js trắng trong thư mục dự án và đoạn mã viết như bên dưới

//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // do some work here with the database.

    //Close connection
    db.close();
  }
});

Bây giờ giả sử rằng cơ sở dữ liệu của bạn đang chạy trên một url được đề cập ở trên (mongodb. //máy chủ cục bộ. 27017/my_database_name) và tiếp tục chạy tệp này với nút, chúng ta sẽ có thể kết nối tới máy chủ cơ sở dữ liệu

Ok, phân tích các mã trên, chúng ta chia chương trình thành các bước hợp lý sau

  • Tải mô-đun mongodb. We request to load mongodb module in code of them ta. MongoDB will expression 'native mongodb diỉivers' cho Node. js
    //lets require/import the mongodb native drivers.
      var mongodb = require('mongodb');
  • Need mean url to connect to. Chúng ta cần biết máy chủ mongodb đang chạy ở đâu. Url chỉ ra nơi đặt phiên bản của mongodb đang chạy, máy chủ mà chúng ta có thể kết nối với nó. Url cũng bao gồm tên cơ sở dữ liệu mà chúng ta dự kiến ​​kết nối đến
    // Connection URL. This is where your mongodb server is running.
      var url = 'mongodb://localhost:27017/my_database_name';
  • Connected to database. Please use MongoClient interface to connect to database. Trong hàm gọi lại chúng ta nhận lỗi hoặc đối tượng db. Chúng ta sử dụng đối tượng db để giao tiếp với cơ sở dữ liệu
    //We need to work with "MongoClient" interface in order to connect to a mongodb server.
      var MongoClient = mongodb.MongoClient;

      // Use connect method to connect to the Server
      MongoClient.connect(url, function (err, db) {
        if (err) {
          console.log('Unable to connect to the mongoDB server. Error:', err);
        } else {
          //HURRAY!! We are connected. :)
          console.log('Connection established to', url);

          // do some work here with the database.

          //Close connection
          db.close();
      }

2. Thêm, sửa và lấy dữ liệu trên MongoDB

Bây giờ bạn đã có sẵn một kết nối db, hãy quan sát xem chúng ta có thể thực hiện một vài thao tác cơ bản trên MongoDB như thế nào

Có hai điều kiện cần quan tâm khi sử dụng trình điều khiển gốc mongodb

  • Truy vấn tên và tham số của chúng là tương tự như lệnh mongodb gốc
  • Tất cả các hàm truy vấn này giữ hàm gọi lại là các đối số cuối cùng. Hàm gọi lại đối số xử lý tham số đầu tiên như lỗi và tham số thứ hai như kết quả thành công. Kết quả là kết quả hay đầu ra được cung cấp bởi mongodb đang chạy những lệnh này. Nó thuộc về những gì bạn thấy nếu bạn đã chạy những truy vấn này trên mongodb shell

2. 1 Chèn

Xin giả sử rằng chúng ta cần tạo một tập hợp các người dùng và lưu một số người dùng. Ví dụ chúng ta sử dụng chức năng chèn để lưu thông tin người dùng

//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // Get the documents collection
    var collection = db.collection('users');

    //Create some users
    var user1 = {name: 'modulus admin', age: 42, roles: ['admin', 'moderator', 'user']};
    var user2 = {name: 'modulus user', age: 22, roles: ['user']};
    var user3 = {name: 'modulus super admin', age: 92, roles: ['super-admin', 'admin', 'moderator', 'user']};

    // Insert some users
    collection.insert([user1, user2, user3], function (err, result) {
      if (err) {
        console.log(err);
      } else {
        console.log('Inserted %d documents into the "users" collection. The documents inserted with "_id" are:', result.length, result);
      }
      //Close connection
      db.close();
    });
  }
});

Trong mã trước chúng ta đã làm theo các bước sau

  • Nhận tham chiếu của bộ sưu tập 'người dùng'. We we used db method. bộ sưu tập để nhận tham chiếu của bảng 'người dùng' (hay còn gọi là bộ sưu tập người dùng). Nếu bộ sưu tập không tồn tại, tiếp theo nó sẽ được tạo mới trước khi chèn. Nếu nó đã tồn tại, bạn sẽ làm việc trên cái đó. You don't need to a special command to create a collection
    // Get the documents collection
      var collection = db.collection('users');
  • Chuẩn bị thêm dữ liệu mới. Chúng ta đã tạo một vài ví dụ đối tượng bản ghi người dùng, được đặt tên là user1, user2 và user3. Cấu trúc của tài liệu là không cố định, chúng đơn giản là những đối tượng JS với dữ liệu của thực thể

  • Add new to database. Chúng ta đã sử dụng bộ sưu tập phương thức. chèn để thêm dữ liệu mới trong bộ sưu tập của cơ sở dữ liệu. Chúng ta đã truyền một mảng của người dùng và nó được lưu tất cả chúng trong một bước. Nếu chúng ta chỉ cần lưu một tài liệu (1 thông tin người dùng), thì chúng ta có thể truyền trong hàm chèn mình người dùng đó, ví dụ như bộ sưu tập. chèn (user1, gọi lại)

      // Insert some users
      collection.insert([user1, user2, user3], function (err, result) {
        if (err) {
          console.log(err);
       } else {
          console.log('Inserted %d documents into the "users" collection. The documents inserted with "_id" are:', result.length, result);
        }
        //Close connection
        db.close();
      });
  • Gọi lại. Hàm gọi lại cho phương thức chèn có hai tham số, đầu tiên là lỗi và còn lại là kết quả. Nếu có lỗi, tiếp theo đối tượng có lỗi sẽ có lỗi chi tiết hoặc ngược lại sẽ là null. Kết quả sẽ là một mảng các tài liệu đã được lưu

2. 2 Cập nhật

Để cập nhật những bản ghi chúng ta sử dụng bộ sưu tập chức năng. cập nhật. Tên và các tham số của hàm cập nhật tương tự như truy vấn gốc của mongodb. Please quan sát một ví dụ bên dưới

________số 8

2. 3 truy vấn

Tiếp theo, hãy lấy những tài liệu từ mongodb. Để làm điều này, chúng ta có thể gọi hàm tìm trên bộ sưu tập đối tượng như chúng ta làm trên vỏ mongodb. This is a ví dụ

//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // Get the documents collection
    var collection = db.collection('users');

    // Insert some users
    collection.find({name: 'modulus user'}).toArray(function (err, result) {
      if (err) {
        console.log(err);
      } else if (result.length) {
        console.log('Found:', result);
      } else {
        console.log('No document(s) found with defined "find" criteria!');
      }
      //Close connection
      db.close();
    });
  }
});

Ví dụ về bạn có thể thấy chúng tôi đang sử dụng. toArray được kết nối với find bởi vì hàm chạy find chỉ trả về một con trỏ db. Tiếp theo chúng ta phải lặp trên con trỏ và lấy kết quả trả về. Lý do cho điều này là vì hiệu suất, mặc định mongodb không lấy đầy đủ bản ghi dữ liệu. Việc sử dụng toArray nói rằng họ muốn đầy đủ dữ liệu của mỗi người dùng, cái mà tiếp theo sẽ được trả lại

3. Làm việc với MongoDB bằng cách sử dụng mô-đun Mongoose ODM trong Node. js

MongooseJS là một thư việc rất phổ biến trong Node. js, thư viện này cung cấp một sự ngăn chặn, giải pháp dựa trên lược đồ cho các đối tượng hóa dữ liệu ứng dụng của bạn và bao gồm truyền kiểu tích hợp, xác thực, truy vấn, xây dựng, logic nghiệp vụ và nhiều thứ khác. Việc sử dụng cầy mangut bạn có thể làm việc với mongodb giống như một chuyên gia. Mongoose đơn giản để làm việc với mongodb và tăng độ tin cậy với các tính năng tự đông kết nối và quản lý nhóm kết nối. Để làm việc với cầy mangut, chúng ta cần cài đặt mô-đun cầy mangut, sử dụng lệnh

//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // do some work here with the database.

    //Close connection
    db.close();
  }
});
0

Bây giờ, chúng ta sẽ cố gắng viết lại những ví dụ trên cầy mangut sử dụng

//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // do some work here with the database.

    //Close connection
    db.close();
  }
});
1

Trong mã trên chúng tôi đã làm theo những bưowcs sau

  • Connected to database. We we used function cầy mangut. connect to connect database. MongooseJS next sẽ xử lý kết nối và nhóm kết nối như đã cấu hình
  • Tạo mô hình. Chúng ta tạo ra một mô hình sử dụng cầy mangut. người mẫu. Mô hình biểu diễn một bộ sưu tập trong cơ sở dữ liệu. Tên mà chúng tôi cung cấp sẽ bị đình chỉ số lượng nhiều hóa. Ví dụ, trong trường hợp của chúng ta nếu tên của model là Người dùng, thì bộ sưu tập sẽ có tên là người dùng (chữ thường). Chúng ta cũng định nghĩa lược đồ cho tài liệu trong xử lý này
//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // do some work here with the database.

    //Close connection
    db.close();
  }
});
2
  • Tạo mới đối tượng Người dùng. Chúng ta đã tạo một đối tượng người dùng mới sử dụng mô hình của chúng ta. Chúng ta có thể tạo nhiều đối tượng sử dụng mô hình sử dụng, và mỗi đối tượng sẽ trình diễn một tài liệu trong cơ sở dữ liệu
//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // do some work here with the database.

    //Close connection
    db.close();
  }
});
3
  • Lưu người dùng sử dụng chức năng 'lưu'. Mô hình Mongoose có sẵn nhiều phương thức trên thực thể đối tượng. Trong trường hợp này, chúng tôi đã sử dụng phương thức lưu để lưu tài liệu trong cơ sở dữ liệu. Chúng ta cũng có thể sử dụng Model để truy vấn cơ sở dữ liệu. To query collection they ta could use Model đã định nghĩa để làm điều đó. Vui lòng xem ví dụ bên dưới
//lets require/import the mongodb native drivers.
var mongodb = require('mongodb');

//We need to work with "MongoClient" interface in order to connect to a mongodb server.
var MongoClient = mongodb.MongoClient;

// Connection URL. This is where your mongodb server is running.
var url = 'mongodb://localhost:27017/my_database_name';

// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    //HURRAY!! We are connected. :)
    console.log('Connection established to', url);

    // do some work here with the database.

    //Close connection
    db.close();
  }
});
4

Để có thêm thông tin về Mongoose bạn có tham khảo tại website mongoosejs. com

4. Kết quả

Trong bài viết này, các bạn đã học cách sử dụng MongoDB Node như thế nào. js để tương tác với cơ sở dữ liệu. Chúng ta đã thấy cách nào để chèn/cập nhật/truy vấn và sử dụng con trỏ db một cách cơ bản. Đồng thời bạn cũng có một số thông tin chi tiết về MongooseJS. Hy vọng những điều này sẽ giúp ích cho các bạn