Chúng ta có thể sử dụng cầy mangut mà không cần cài đặt MongoDB không?

Chương trình Giáo dục Kỹ thuật (EngEd) này được hỗ trợ bởi Mục. Triển khai tức thì các container trên nhiều nhà cung cấp đám mây trên toàn cầu

Dùng thử miễn phí

Cách kết nối MongoDB với nút. js Sử dụng Mongoose

Ngày 5 tháng 6 năm 2021
  • chủ đề
  • Nút. js

cầy mangut. js kết nối các cụm hoặc bộ sưu tập MongoDB của bạn với Nút của bạn. ứng dụng js. Nó cho phép bạn tạo các lược đồ cho tài liệu của mình. Mongoose cung cấp rất nhiều chức năng khi tạo và làm việc với các lược đồ

Trong hướng dẫn này, chúng ta sẽ xem xét cách kết nối một phiên bản MongoDB với một Node. ứng dụng js

Cách kết nối MongoDB với nút. js Sử dụng Mongoose

MongoDB là một trong những cơ sở dữ liệu Nosql được sử dụng rộng rãi nhất ở các nước phát triển hiện nay. Cơ sở dữ liệu không có SQL cho phép các nhà phát triển gửi và truy xuất dữ liệu dưới dạng tài liệu JSON, thay vì các đối tượng SQL. Để làm việc với MongoDB trong một Nút. js, chúng ta có thể sử dụng Mongoose

điều kiện tiên quyết

Trước khi chúng tôi tiếp tục, bạn sẽ cần phải có những điều sau đây

  • Nút. js được cài đặt trên máy của bạn
  • Một phiên bản MongoDB đang chạy trên máy của bạn. Bạn sẽ không cần điều này nếu bạn muốn sử dụng MongoDB Atlas
  • Một số kiến ​​thức về Node. js và Express. js

Bước 1 - Cài đặt Mongoose trên nút. môi trường js

Tạo và điều hướng đến một thư mục mới bằng cách chạy các lệnh sau trên thiết bị đầu cuối

$ mkdir mongoose_tutorial
$ cd mongoose_tutorial

Sau đó cài đặt Express và Mongoose bằng cách thực hiện lệnh sau trên thiết bị đầu cuối

$ npm install express mongoose --save

Nếu bạn đang sử dụng Sợi, hãy chạy

$ yarn add express mongoose

Bước 2 – Tạo kết nối

Tạo một tệp mới

$ npm install express mongoose --save
4 để bắt đầu Express của chúng tôi. máy chủ js. Tải
$ npm install express mongoose --save
5 và
$ npm install express mongoose --save
6 bằng cách thêm đoạn mã sau vào
$ npm install express mongoose --save
4

$ npm install express mongoose --save
4

________số 8_______

Sau đó kết nối với một phiên bản MongoDB cục bộ bằng hàm

$ npm install express mongoose --save
9

$ npm install express mongoose --save
4

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);

Chúng tôi vượt qua

$ yarn add express mongoose
1, v.v. đến
$ npm install express mongoose --save
9 để tránh
$ yarn add express mongoose
3

Để tạo kết nối đến MongoDB Atlas, hãy làm theo các bước tiếp theo

  1. Mở tab Cụm của bạn trong MongoDb Atlas và nhấp vào
    $ yarn add express mongoose
    
    4

Chúng ta có thể sử dụng cầy mangut mà không cần cài đặt MongoDB không?

  1. Chọn
    $ yarn add express mongoose
    
    5 và chọn Nút. js cho trình điều khiển
  2. Sao chép chuỗi kết nối

Chúng ta có thể sử dụng cầy mangut mà không cần cài đặt MongoDB không?

Với kết nối hiện có, hãy tạo các biến sau và thay thế các giá trị của chúng bằng thông tin đăng nhập thực tế của bạn

$ npm install express mongoose --save
4

const username = "";
const password = "";
const cluster = "";
const dbname = "myFirstDatabase";

mongoose.connect(
  `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`, 
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);

Điều quan trọng cần lưu ý là biến cụm là các giá trị xuất hiện giữa

$ yarn add express mongoose
7 và
$ yarn add express mongoose
8. Trong trường hợp của tôi, biến cụm là
$ yarn add express mongoose
9

Để đảm bảo kết nối của bạn thành công, hãy thêm đoạn mã sau ngay bên dưới

$ npm install express mongoose --save
9 của bạn

$ npm install express mongoose --save
4

// ...
const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error: "));
db.once("open", function () {
  console.log("Connected successfully");
});

Sau đó, đặt ứng dụng nghe cổng 3000

$ npm install express mongoose --save
4

// ...
app.use(Router);

app.listen(3000, () => {
  console.log("Server is running at port 3000");
});

Chúng tôi sẽ tạo

const express = require("express");
const mongoose = require("mongoose");
const Router = require("./routes")

const app = express();

app.use(express.json());
3 sau

Bước 3 – Tạo lược đồ

Bây giờ, hãy định nghĩa một lược đồ bộ sưu tập cho ứng dụng của chúng ta

Tạo một tệp khác

const express = require("express");
const mongoose = require("mongoose");
const Router = require("./routes")

const app = express();

app.use(express.json());
4 và thêm đoạn mã sau

const express = require("express");
const mongoose = require("mongoose");
const Router = require("./routes")

const app = express();

app.use(express.json());
4

const mongoose = require("mongoose");

const UserSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true,
  },
  age: {
    type: Number,
    default: 0,
  },
});

const User = mongoose.model("User", UserSchema);

module.exports = User;

Chúng tôi tạo một lược đồ

const express = require("express");
const mongoose = require("mongoose");
const Router = require("./routes")

const app = express();

app.use(express.json());
6 bằng cách sử dụng phương pháp
const express = require("express");
const mongoose = require("mongoose");
const Router = require("./routes")

const app = express();

app.use(express.json());
7. Lược đồ thu thập các trường
const express = require("express");
const mongoose = require("mongoose");
const Router = require("./routes")

const app = express();

app.use(express.json());
8 và
const express = require("express");
const mongoose = require("mongoose");
const Router = require("./routes")

const app = express();

app.use(express.json());
9 được gửi từ yêu cầu

Sau đó, chúng tôi xuất lược đồ bằng 2 dòng cuối cùng

Bước 4 – Tạo điểm cuối POST

Tạo một tệp mới

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
0. Tệp này xác định các điểm cuối cho ứng dụng của chúng tôi

Tải

$ npm install express mongoose --save
6 và lược đồ mà chúng tôi đã tạo ở Bước 3 bằng cách thêm đoạn mã sau

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
0

const express = require("express");
const userModel = require("./models");
const app = express();

Sau đó, tạo điểm cuối POST bằng cách thêm đoạn mã sau

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
0

$ npm install express mongoose --save
0

Chúng tôi tạo một tuyến đường

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
4 để thêm người dùng mới vào cơ sở dữ liệu. Chúng tôi phân tích nội dung sẽ được lưu vào cơ sở dữ liệu bằng cách sử dụng dòng
mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
5

Sau đó, chúng tôi sử dụng khối

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
6 để lưu đối tượng vào cơ sở dữ liệu bằng phương pháp
mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
7

Bước 5 – Tạo điểm cuối GET

Thêm các dòng mã sau vào tệp

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
0

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
0

$ npm install express mongoose --save
1

Chúng tôi tạo một tuyến đường

const username = "";
const password = "";
const cluster = "";
const dbname = "myFirstDatabase";

mongoose.connect(
  `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`, 
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
0 để truy xuất tất cả người dùng đã lưu bằng tuyến đường
mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
4. Chúng tôi thu thập những người dùng này từ cơ sở dữ liệu bằng phương pháp
const username = "";
const password = "";
const cluster = "";
const dbname = "myFirstDatabase";

mongoose.connect(
  `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`, 
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
2. Sau đó, chúng tôi sử dụng khối
mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
6 để 'gửi' người dùng đến điểm cuối này

Cuối cùng, xuất các điểm cuối này bằng cách thêm dòng bên dưới

mongoose.connect('mongodb://localhost:27017/usersdb',
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
0

$ npm install express mongoose --save
2

Tại thời điểm này, ứng dụng của bạn đã sẵn sàng. Phục vụ ứng dụng bằng cách chạy lệnh bên dưới

$ npm install express mongoose --save
3

Bước 6 – Kiểm tra các điểm cuối

Bây giờ, hãy kiểm tra hai điểm cuối mà chúng tôi đã tạo ở trên

Mở Postman và thực hiện yêu cầu

const username = "";
const password = "";
const cluster = "";
const dbname = "myFirstDatabase";

mongoose.connect(
  `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`, 
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
5 tới điểm cuối
const username = "";
const password = "";
const cluster = "";
const dbname = "myFirstDatabase";

mongoose.connect(
  `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`, 
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
6

Chúng ta có thể sử dụng cầy mangut mà không cần cài đặt MongoDB không?

Một

const username = "";
const password = "";
const cluster = "";
const dbname = "myFirstDatabase";

mongoose.connect(
  `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`, 
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
7 mới được thêm vào cơ sở dữ liệu. Bạn có thể kiểm tra bộ sưu tập của mình để xác nhận điều này

Thực hiện một yêu cầu

const username = "";
const password = "";
const cluster = "";
const dbname = "myFirstDatabase";

mongoose.connect(
  `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`, 
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
8 tới điểm cuối
const username = "";
const password = "";
const cluster = "";
const dbname = "myFirstDatabase";

mongoose.connect(
  `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`, 
  {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true
  }
);
9

Chúng ta có thể sử dụng cầy mangut mà không cần cài đặt MongoDB không?

Điểm cuối trả về danh sách tất cả

// ...
const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error: "));
db.once("open", function () {
  console.log("Connected successfully");
});
0 được thêm vào cơ sở dữ liệu

Phần kết luận

Trong hướng dẫn này, chúng tôi đã xem xét cách thiết lập Mongoose. Chúng tôi cũng đã xem xét cách thiết lập kết nối cơ sở dữ liệu và cách tạo lược đồ cho các bộ sưu tập của chúng tôi. Mongoose có thể được sử dụng để kết nối với cả MongoDB và MongoDB Atlas với Nút của bạn. ứng dụng js

Tôi có thể sử dụng cầy mangut mà không có MongoDB không?

Nếu bạn đến từ nền tảng SQL, thì Mongoose tương tự như ORM (Ánh xạ quan hệ đối tượng). Không bắt buộc phải sử dụng Mongoose trên API gốc MongoDB .

Tôi có thể sử dụng MongoDB mà không cần cài đặt không?

MongoDB Atlas là tùy chọn dịch vụ MongoDB được lưu trữ trên đám mây không yêu cầu chi phí cài đặt và cung cấp một bậc miễn phí để bắt đầu.

Sử dụng cầy mangut hay MongoDB tốt hơn?

Lợi ích của việc sử dụng Mongoose là chúng tôi có một lược đồ để hoạt động trong mã ứng dụng của chúng tôi và mối quan hệ rõ ràng giữa các tài liệu MongoDB của chúng tôi và các mô hình Mongoose trong ứng dụng của chúng tôi. Nhược điểm là chúng tôi chỉ có thể tạo các bài đăng trên blog và chúng phải tuân theo lược đồ đã xác định ở trên

Tôi có nên học MongoDB trước cầy mangut không?

Mặt khác, việc học cầy mangut có thể mất một chút thời gian và có một số hạn chế trong việc xử lý các lược đồ khá phức tạp. Tuy nhiên, nếu lược đồ bộ sưu tập của bạn không thể đoán trước hoặc bạn muốn có trải nghiệm giống như Mongo-shell bên trong Node. js, sau đó tiếp tục và sử dụng trình điều khiển mongodb . Đó là cách đơn giản nhất để chọn.