Tạo cơ sở dữ liệu MongoDB nodejs

Trong phần này của hoạt động mongodb sử dụng nút. js, chúng ta sẽ tạo cơ sở dữ liệu

db.users.insert({“name”: “Sachin Tendulkar”})
7 trong
db.users.insert({“name”: “Sachin Tendulkar”})
8 bằng cách sử dụng
db.users.insert({“name”: “Sachin Tendulkar”})
9

Hãy bắt đầu

db.users.insert({“name”: “Sachin Tendulkar”}) 
0 là một phương thức sẵn có được sử dụng để tạo kết nối với phiên bản
db.users.insert({“name”: “Sachin Tendulkar”}) 
1 và trả về tham chiếu đến cơ sở dữ liệu. Nó khởi tạo một kết nối mới đến phiên bản
db.users.insert({“name”: “Sachin Tendulkar”}) 
1 đang chạy trên giao diện
db.users.insert({“name”: “Sachin Tendulkar”}) 
3 và trả về một tham chiếu đến
db.users.insert({“name”: “Sachin Tendulkar”})
7

											
//create-db.js
var mongo = require('mongodb');
var new_db = "mongodb://localhost:27017/demo_db";

mongo.connect(new_db ,(error , db) => {
	if (error){
		throw error;
	}
	console.log("Database demo_db created successfully");
	//To close the connection
	db.close();
});
											
										

Bạn có thể chạy đoạn mã trên bằng lệnh sau.
											
>node create-db.js
Database demo_db created successfully
											
										

MongoDB là một nền tảng mã nguồn mở được viết bằng C++. Nó là một cơ sở dữ liệu tài liệu được thiết kế để dễ dàng phát triển và nhân rộng. Nó là một cơ sở dữ liệu đa nền tảng, định hướng tài liệu và phi cấu trúc.  

Bài viết này là hướng dẫn nhanh về cách tạo cơ sở dữ liệu MongoDB trong Node. js. Chúng tôi sẽ hiểu khả năng tương thích MongoDB và khả năng tương thích ngôn ngữ và khám pháMongo shell. Chúng ta sẽ xem cách nhập dữ liệu vào cơ sở dữ liệu, cách sử dụng trình điều khiển MongoDB cho nút. js và nút. hoạt động CRUD dựa trên js. Chúng tôi sẽ kết thúc với việc xây dựng một ứng dụng đơn giản bằng ứng dụng node express với MongoDB để lưu trữ và phân phát nội dung.  

MongoDB khác với cơ sở dữ liệu quan hệ như thế nào

Cơ sở dữ liệu quan hệ được kích hoạt SQL và được tổ chức trong các bảng với mỗi mục chứa một tập hợp các cột cụ thể với một kiểu dữ liệu cụ thể.  

Người ta thấy rằng đôi khi các cơ sở dữ liệu quan hệ trở nên rất phức tạp đối với các lược đồ đơn giản, vì. g. , nơi một nhân viên có nhiều số điện thoại, ID email, địa chỉ, nhóm, v.v. và tất cả các dữ liệu liên quan được lưu trữ trong các bảng khác nhau. Để lấy thông tin đầy đủ cho một nhân viên, nhiều bảng cần được nối và truy vấn.  

Một trong những nhược điểm của cơ sở dữ liệu quan hệ là để cập nhật hoặc thay đổi lược đồ, chúng ta cần sửa đổi nhiều bảng. Khi yêu cầu thay đổi, có thể cần nhiều cập nhật hơn, làm phức tạp thêm thiết kế. Điều này làm cho nó cần thiết cho một quản trị viên DB chuyên dụng.  

Mongo là một NoSql DB và dựa trên đối tượng chứa toàn bộ thực thể trong bản ghi tài liệu. Không giống như cơ sở dữ liệu quan hệ, NoSqldb có thể được truy vấn nhanh hơn và dễ dàng để có được thông tin chi tiết đầy đủ về một thực thể hoặc tài liệu cụ thể.  

Một tính năng khác của Mongo là nếu không có tài liệu nào phù hợp với truy vấn thì không có lỗi nào được trả về. Trong cơ sở dữ liệu quan hệ, một bảng chứa cùng một tập hợp các trường trong khi ở Mongo DB, lược đồ là động và mỗi bảng không cần tuân theo cùng một lược đồ. Mongo thân thiện với nhà phát triển và biểu diễn JSON giúp dễ dàng phân tích cú pháp.  

MongoDB lưu trữ các bộ sưu tập tài liệu. Bộ sưu tập tương tự như bảng trong cơ sở dữ liệu quan hệ. Trong MongoDB, cơ sở dữ liệu chứa các bộ sưu tập tài liệu.  

Ngoài các bộ sưu tập, MongoDB hỗ trợ.  

  • Chế độ xem chỉ đọc (Bắt đầu trong MongoDB 3. 4)
  • Chế độ xem cụ thể hóa theo yêu cầu (Bắt đầu trong MongoDB 4. 2).  

Cấu trúc dữ liệu MongoDB

  • Tài liệu – Đối tượng JSON
  • Lưu trữ dữ liệu dưới dạng BSON (JSON nhị phân) [Đối với thông số BSON, xembsonspec. tổ chức]

Giá trị của một trường có thể là bất kỳ loại BSONdata nào, bao gồm các tài liệu, mảng và mảng tài liệu khác. Ví dụ: tài liệu sau chứa các giá trị thuộc các loại khác nhau

var mydoc = {_id: ObjectId("3423jksdhfi83p9fj90cd"), 
name: { firstName: "Sachin", lastName: "Tendulkar" }, 
birth: new Date('Apr 24, 1973'), 
awards:[ “Bharat Ratna”, “Padma Vibhushan”, “Padma Shri”] 
followers :NumberLong(30000000) 
} 
  • _id giữ một ObjectId,
  • tên chứa một tài liệu nhúng có chứa FirstName và lastName,
  • giá trị giữ ngày sinh của các loại Ngày
  • giải thưởng chứa một chuỗi các chuỗi
  • người theo dõi giữ giá trị của loại NumberLong.  

Ghi chú. Mongo hỗ trợ lồng lên tới 100 cấp độ.  

Tìm hiểu thêm về các loại bson tại https. // tài liệu. MongoDB. com/manual/reference/bson-types/

Thiết lập môi trường MongoDB

Nền tảng FormacOS, tải xuống tệp tgz và giải nén tệp. Cách dễ nhất để lấy các mục trong đường dẫn của bạn là sao chép chúng vào thư mục usr/local/bin. Thực hiện theo các bước dưới đây để hoàn thành

How to Create MongoDB Database in Node.js

Bây giờ, hãy nhập 'mongod' trong dấu nhắc lệnh là mongo daemon và bạn có thể thấy nó đã bắt đầu. Gọi một dấu nhắc lệnh khác và gõ 'mongo' để bắt đầu trong trình bao. Để đảm bảo mọi thứ đang hoạt động, hãy chèn một dữ liệu giả và quan sát rằng nó đã chèn một tài liệu.  

db.users.insert({“name”: “Sachin Tendulkar”})
How to Create MongoDB Database in Node.js

Cơ sở dữ liệu đã được thiết lập xong.

Đối với nền tảng Windows, tải xuống msi và chạy cài đặt để hoàn tất cài đặt. Sau khi cài đặt xong, bạn có thể tìm thấy nơi nó đã được cài đặt. Hai thứ quan trọng trong thư mục bin là mongo và MongoD. Sao chép đường dẫn và thêm vào đường dẫn trong các biến môi trường.   

Khi điều này đã được thực hiện, chúng ta sẽ có thể chạy cả Mongo Server và Mongo Shell từ dấu nhắc lệnh.  

Gọi dấu nhắc lệnh và thực hiện 'md \data', sau đó tạo DB dữ liệu bằng cách 'md \data\db'. Đây là file mà mongo sẽ tìm để dùng lưu trữ thông tin về cơ sở dữ liệu.  

Bây giờ, hãy nhập 'mongoD' vào dấu nhắc lệnh, đó là mongo daemon và bạn có thể thấy nó đã bắt đầu. Gọi một dấu nhắc lệnh khác và gõ 'mongo' để bắt đầu trong trình bao. Để đảm bảo mọi thứ đang hoạt động, hãy chèn một dữ liệu giả và quan sát rằng nó đã chèn một tài liệu.  

db.users.insert({“name”: “Sachin Tendulkar”}) 

Cơ sở dữ liệu được thiết lập.  

Cách được đề xuất để bắt đầu sử dụng Node. js bằng cách sử dụng NPM (Trình quản lý gói nút) để cài đặt phần phụ thuộc trong dự án của bạn.  

Sau khi bạn đã tạo dự án của mình bằng npminit, bạn có thể cài đặt trình điều khiển MongoDB và các phần phụ thuộc của nó bằng lệnh.  

npm install MongoDB --save 

Thao tác này sẽ tải xuống trình điều khiển MongoDB và thêm mục phụ thuộc vào gói của bạn. tập tin json.  

Chúng ta sẽ tìm hiểu thêm về điều này khi chúng ta tiếp tục.  

khả năng tương thích

Khả năng tương thích MongoDB

Ghi chú. Trình điều khiển không hỗ trợ các phiên bản MongoDB cũ hơn

Nút. js DriverMongoDB 4. 2MongoDB 4. 0MongoDB 3. 6MongoDB 3. 4MongoDB 3. 2MongoDB 3. 0MongoDB 2. 6>= 3. X ✓ ✓ ✓ ✓ ✓ ✓ ✓>= 3. 2. 1 ✓ ✓ ✓ ✓ ✓ ✓>= 3. 1 ✓ ✓ ✓ ✓ ✓ ✓>= 3. 0 ✓ ✓ ✓ ✓ ✓>=2. 2. 12 ✓ ✓ ✓ ✓

Khả năng tương thích ngôn ngữ

Nút. js
DriverNode. js v0. 8. XNode. js v0. 10. XNode. js v0. 12. XNode. js v4. X. XNode. js v6. X. XNode. js v8. X. XNode. js v10. x. xNode. js v12. x. x>=3. X. X ✓ ✓ ✓ ✓ ✓2. 2. X – 2. 0. X ✓ ✓ ✓ ✓ ✓ ✓>=1. 4. 18 ✓ ✓ ✓1. 4. x ✓ ✓

Vài điểm nổi bật

Khi thiết kế lược đồ cho cơ sở dữ liệu của bạn, việc hiểu nhanh về Được nhúng so với Tham chiếu là rất hữu ích. Bạn có thể tham khảo Coderwall để biết thêm thông tin về điều này.   

Ba trong số các tính năng khác mà mongo cung cấp. Lập chỉ mục, Sharding và sao chép có thể khiến Mongo trở thành lựa chọn phù hợp cho ứng dụng của bạn.  

Lập chỉ mục- hỗ trợ các truy vấn đặc biệt

  • 64 chỉ số cho mỗi bộ sưu tập
  • Trường đơn
  • Hợp chất (nhiều trường)
  • Duy nhất

Chia sẻ  - Khả năng mở rộng

  • Phân vùng dữ liệu trên các máy khác nhau
  • Quy mô ứng dụng vào các hệ thống nhỏ hơn
  • Auto Sharding được hỗ trợ bởi Mongodb
  • Thách thức để thiết lập

Nhân rộng

  • Độ tin cậy (Số máy chủ chính và thứ n)
  • Tối đa hóa thời gian hoạt động
  • bộ bản sao
  • chuyển đổi dự phòng tự động

Khám phá Mongo Shell

  • Ghi chú. Tất cả các ví dụ và snaps được thực hiện trong macOS.  
  • Gọi thiết bị đầu cuối và gõ 'mongod' sẽ hiển thị cổng nghe 27017
How to Create MongoDB Database in Node.js
  • Vì chúng tôi đang chạy cục bộ, chúng tôi không cần bảo mật và tối ưu hóa nó
  • Gọi một thiết bị đầu cuối khác (command + T) và gõ 'mongo'
How to Create MongoDB Database in Node.js

Bạn sẽ thấy rằng chúng tôi hiện đã được kết nối với MongoDB. //127. 0. 0. 1. 27017

Theo mặc định, chúng tôi được kết nối với cơ sở dữ liệu thử nghiệm

  • Nhập 'db' để kiểm tra nó trong thiết bị đầu cuối và quan sát 'kiểm tra'

Hãy để chúng tôi sử dụng một cơ sở dữ liệu khác nói 'MyNewMongoDB'

  • Nhập 'sử dụng MyNewMongoDB'
  • đầu ra. Đã chuyển sang dbMyNewMongoDB

Để xem tất cả các dbs có sẵn, hãy nhập 'show dbs'

How to Create MongoDB Database in Node.js

Ghi chú. Chúng tôi sẽ không thấy db mới 'MyNewMongoDB'. Thay vào đó, db được tạo khi tài liệu đầu tiên được tạo.  

Mongodb lưu trữ dữ liệu trong cơ sở dữ liệu được tách thành các bộ sưu tập tài liệu. Để tạo một bộ sưu tập mới, chúng ta cần chèn một tài liệu và bộ sưu tập sẽ được tạo dưới dạng hiệu ứng phụ.  

  • Nhập 'db. người chơi crickê. điền tên". ”Sachin”}) 
  • Bây giờ hãy kiểm tra 'hiển thị dbs' để xem db mới của chúng tôi
  • Nhập 'hiển thị bộ sưu tập' để kiểm tra xem bộ sưu tập của chúng tôi đã được tạo chưa
How to Create MongoDB Database in Node.js

Như bạn có thể thấy, mongo không yêu cầu bất kỳ lược đồ hoặc công việc thiết lập nào để bắt đầu làm việc với dữ liệu. Các lệnh chúng tôi đã sử dụng rất giống với những gì chúng tôi có trong SQL nhưng trình bao mongo sử dụng trình thông dịch JavaScript. Vì vậy, chúng ta có thể tương tác với cơ sở dữ liệu bằng các biểu thức JavaScript giúp dễ dàng thực hiện các tác vụ khác nhau.  

  • Print('test') sẽ in bài kiểm tra
  • var arr = [“một”, “hai”, “ba”]
  • gõ arrcái nào sẽ in kết quả.  

Hãy để chúng tôi chọn tùy chọn này để khám phá thêm tôi. e. chúng tôi sẽ chèn 1000 bản ghi vào db bằng vòng lặp for

How to Create MongoDB Database in Node.js

for(i=0;i<1000;i++){ db. con số. chèn ({"số". tôi}) }

Mặc dù nó nói rằng chỉ có một phụ trang, nhưng nó đang đếm số lượng thao tác chứ không phải tài liệu riêng lẻ. Điều này thể hiện rõ từ lệnh 'db. con số. đếm()'

Bây giờ, hãy thử tìm một tài liệu từ cơ sở dữ liệu và hiểu rõ hơn về truy vấn.  

  • Nhập 'db. con số. tìm ({"số". 2})' và điều này sẽ hiển thị một bản ghi.  
  • Hãy yêu cầu mongo giải thích cho chúng tôi bằng cách thêm lệnh giải thích
  • db. con số. tìm({“số”. ”2”}). giải thích()
How to Create MongoDB Database in Node.js
  • Giải thích đã đề cập về công cụ lập kế hoạch truy vấn nhưng không cung cấp nhiều thông tin về việc thực thi. Vì vậy, hãy vượt qua trạng thái thực thi để lấy thông tin đó.  
  • db. con số. tìm({“số”. ”2”}). giải thích(“executionStats”)
How to Create MongoDB Database in Node.js
  • Bây giờ chúng ta có thể thấy rằng nó đã chạy qua 999 bản ghi và mất 0 mili giây. Có thể là nếu chúng tôi tăng số lượng lên 1 triệu, chúng tôi có thể tìm thấy thời gian thực hiện cao hơnThời gian.  
  • Vì chúng tôi không muốn chạy qua tất cả các bản ghi, hãy tạo một chỉ mục đơn giản để xem kết quả thay đổi như thế nào.  
  • db. con số. createIndex({số. 2})
  • Ở đây nó tương tự như tìm nhưng số là một biến đặc biệt và nó không phải là một chuỗi.  

Bây giờ, chúng ta hãy thử lại trạng thái thực thi và xem kết quả

How to Create MongoDB Database in Node.js

Như chúng ta có thể thấy, chỉ có một tài liệu được kiểm tra và hãy tưởng tượng nếu chúng ta muốn tìm kiếm trong bộ sưu tập 10 triệu bản ghi trở lên. Nó làm cho một sự khác biệt rất lớn.  

Nhập dữ liệu vào cơ sở dữ liệu.  

Mặc dù việc chèn dữ liệu vào mongo bằng shell hoặc trình điều khiển ngôn ngữ rất tiện lợi. Hầu hết thời gian chúng tôi có dữ liệu ở một số dạng mà chúng tôi cần nhập vào cơ sở dữ liệu của mình.  

Và lệnh Mongoimport có thể nhập dữ liệu ở định dạng json, csv hoặc tsv và không cần mã tùy chỉnh. Trong trường hợp của chúng tôi, chúng tôi đang sử dụng dữ liệu ngẫu nhiên được tạo bằng cách sử dụng.  

Chế độ xem mẫu của dữ liệu đã tải xuống

How to Create MongoDB Database in Node.js

‘mongoimport –help’ sẽ hiển thị các tùy chọn có sẵn.  

  • Các tùy chọn không gian tên hiển thị db và bộ sưu tập mà dữ liệu phải được nhập vào.  

  • Tùy chọn đầu vào là phần tiếp theo trong đó chúng tôi sẽ sử dụng tùy chọn tệp. Định dạng json là định dạng mặc định ở đây. Tuy nhiên, tệp đang được nhập là một mảng chứ không phải một đối tượng, vì vậy chúng ta cũng cần phải gạch ngang cờ mảng json.  

Gọi thiết bị đầu cuối và đảm bảo rằng chúng tôi đang ở trong thư mục tệp chứa tệp json hoặc được tải xuống

How to Create MongoDB Database in Node.js

Như chúng ta có thể thấy, chúng ta đã nhập thành công 7 tài liệu.  

Bây giờ hãy để chúng tôi kiểm tra xem mongo có dữ liệu như chúng tôi muốn không

  • Chuyển sang ứng dụng khách mongo và nhập 'sử dụng MyNewMongoDB'
  • Nhập 'hiển thị bộ sưu tập' để xem các bộ sưu tập hiện có người.  
  • Chúng ta có thể đếm các bản ghi bằng commanddb. người. đếm() hoặc tìm bằng cách sử dụng db. người. tìm({“isActive”. thật}).  

Hoạt động CRUD vỏ Mongo

Bây giờ chúng ta đã có sẵn dữ liệu, hãy khám phá các hoạt động CRUD tiêu chuẩn trong cơ sở dữ liệu. Nếu máy khách không chạy, hãy khởi động nó bằng cách gõ mongo trong thiết bị đầu cuối và chuyển sang cơ sở dữ liệu mới được tạo 'MyNewMongoDB'

  • [ĐỌC] Trong dữ liệu có sẵn, hãy tìm số người có màu mắt xanh.  
    • ĐƯỢC. db. người. tìm({“màu mắt”. "màu xanh da trời"}). đếm()
    • Điều này sẽ dẫn đến số lượng 2 bản ghi.  
  • [TẠO] Bây giờ, hãy bắt đầu và thêm một người nữa với màu mắt xanh lam. (CHÈN)
    • Chèn sẽ hơi phức tạp và có thể trải rộng trên các dòng dựa trên dữ liệu chúng tôi chèn.  
db.persons.insert({ "_id": "5eee4d58c952ec90ad43dfe8", "index": 7, "guid": "fbc2510e-678f-4843-b612-96b899ee5e9b", "isActive": true, "balance": "$3,996.47", "picture": "http://placehold.it/32x32", "age": 18, "eyeColor": "blue", "name": "SteuPoluard", "gender": "female", "company": "EXTRAWEAR"}) 

Ghi chú. Trong trường hợp trên, nó trải rộng trên nhiều dòng và Mongo sẽ không thực thi/xử lý cho đến khi dấu ngoặc đơn cuối cùng được đóng lại và _id cũng là duy nhất.  

  • Đầu ra sẽ hiển thị một bản ghi mới được chèn vào.  

WriteResult({ "nInserted" : 1 }) 
  • Nếu chúng tôi cố gắng tìm những người có màu mắt xanh lam, chúng tôi sẽ nhận được 3 hồ sơ
How to Create MongoDB Database in Node.js
  • CẬP NHẬT] Bây giờ, hãy bắt đầu và cập nhật bản ghi đã chèn bằng Id email.  
  • Cập nhật có thể xảy ra để thay thế toàn bộ tài liệu hoặc một tập hợp con của dữ liệu. Chúng tôi muốn thêm id email mà không làm mất toàn bộ đối tượng. Đối với điều này, chúng ta cần sử dụng chức năng thiết lập
________số 8

đầu ra.  

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) 
  • Bây giờ nếu chúng tôi tìm thấy bản ghi để kiểm tra xem email đã được thêm chưa

How to Create MongoDB Database in Node.js
  • Bây giờ, nếu muốn cập nhật các thẻ thì chúng ta cần sử dụng một toán tử khác có tên là $addToSet.  

											
>node create-db.js
Database demo_db created successfully
											
										
0How to Create MongoDB Database in Node.js

Lưu ý. Có sẵn một bộ lớn các toán tử cập nhật, hãy tham khảo trang web mongo để khám phá chức năng này một cách chuyên sâu.

  • [XÓA] Bây giờ, cuối cùng, hãy xóa bản ghi được thêm tên – ‘SteuPoluard’

											
>node create-db.js
Database demo_db created successfully
											
										
1
  • Để xác minh, hãy xem lệnh find có tìm thấy nó không.  

db.users.insert({“name”: “Sachin Tendulkar”})
0

Không kết quả. Vì vậy, bản ghi đã được xóa thành công.  

  • Nói nếu chúng tôi muốn xóa chính bộ sưu tập.  

db.users.insert({“name”: “Sachin Tendulkar”})
1
  • Kiểm tra bộ sưu tập hiển thị để tìm bộ sưu tập người không còn nữa

Sử dụng trình điều khiển MongoDB cho nút. js

Bây giờ hãy viết một số mã trong nút. js để tương tác với cơ sở dữ liệu. Trình điều khiển cho tất cả các ngôn ngữ hoạt động tương tự nhau, vì vậy khi chúng tôi làm việc với nút. Các trình điều khiển ngôn ngữ khác sẽ khá giống nhau.  

Nút MongoDB chính thức. js cung cấp cả tương tác dựa trên gọi lại và dựa trên Promise với MongoDB, cho phép các ứng dụng tận dụng tối đa các tính năng mới trong ES6. 2. x của trình điều khiển được cung cấp bởi trình điều khiển lõi hoàn toàn mới và thư viện BSON. Để hiểu thêm về những thay đổi được thực hiện từ ổ đĩa 1. x đến 2. x, tham khảo blog này.  

Bước đầu tiên là đảm bảo máy chủ Mongo của chúng tôi được thiết lập và chạy với db 'MyNewMongoDB' và thu thập dữ liệu đã nhập i. e. người đã có mặt.  

Ghi chú. Trong trường hợp nếu bộ sưu tập bị hủy, vui lòng làm theo các bước trên để tạo và nhập dữ liệu

bước

  • Tạo một chỉ mục. tập tin js
  • Thiết lập ứng dụng khách mongo bằng gói MongoDB.  
db.users.insert({“name”: “Sachin Tendulkar”})
2
  • Url cho cơ sở dữ liệu sử dụng giao thức MongoDB và kết nối với máy chủ được chỉ định.  

db.users.insert({“name”: “Sachin Tendulkar”})
3
  • Cuối cùng, chúng tôi muốn kết nối với MongoClient và trong cuộc gọi lại, chúng tôi ghi lại kết nối được thực hiện thành công

db.users.insert({“name”: “Sachin Tendulkar”})
4

Gọi một thiết bị đầu cuối và điều hướng đến chỉ mục. thư mục tập tin js.  

Loại chỉ mục nút. js và quan sát rằng 'Đã kết nối thành công với máy chủ'

Ghi chú. Nếu bạn gặp phải bất kỳ lỗi nào, hãy kiểm tra xem máy chủ MongoDB có đang chạy không và npm cài đặt đã được thực hiện chưa.  

Bây giờ, hãy tiếp tục và cố gắng truy cập tất cả các tài liệu hoặc tài liệu cụ thể và in chúng trong bảng điều khiển. Vì chúng tôi đã thực hiện kết nối. Hãy tìm bản ghi trong gọi lại của kết nối.  

db.users.insert({“name”: “Sachin Tendulkar”})
5

Loại chỉ mục nút. js để kiểm tra xem bản ghi có được lấy thành công hay không và được ghi lại

How to Create MongoDB Database in Node.js

Như chúng ta có thể thấy, các giao diện tương tự có trong mongoShell cũng hoạt động ở đây cho tất cả các thao tác CRUD. Để xem xét, đây là danh sách

  • Tạo -> chèn.  
  • Đọc --> tìm hoặc findOne.  
  • Cập nhật --> cập nhật.  
  • Xóa -> xóa.  

Nút. hoạt động CRUD dựa trên js

Hãy để chúng tôi thiết lập một ứng dụng đơn giản bằng Node. js và MongoDB. Chúng tôi sẽ hiểu cách thiết lập trình điều khiển và thực hiện các thao tác CRUD đơn giản.  

Thực hiện theo các bước dưới đây để thiết lập dự án

  • mkdirlearnMongoDB
  • cd learnMongoDB
  • npminit [bạn sẽ được nhắc nhập thông tin đầu vào liên quan đến gói. json]
  • npm install MongoDB–save [--save là để cập nhật gói. json]

Giả sử rằng máy chủ db mongo vẫn đang chạy. Nếu không, hãy bắt đầu như đã đề cập trước đó.  

Mở thư mục learnMongoDB trong IDE yêu thích của bạn. (Tôi đang sử dụng mã Visual Studio). Thêm ứng dụng tệp. js với đoạn mã dưới đây.  

db.users.insert({“name”: “Sachin Tendulkar”})
6

Lưu ý rằng chúng tôi không cung cấp tên db trong URL. Thay vào đó, chúng tôi nhận được phiên bản db khi kết nối thành công với máy chủ. Bằng cách này, chúng tôi có thể kết nối với các cơ sở dữ liệu khác nhau trong cùng một phiên bản máy khách.  

Ghi chú. Chúng tôi đang sử dụng mô-đun xác nhận để kiểm tra xem kết nối có thành công hay không bằng cách xác thực đối tượng lỗi. Cũng sẽ được sử dụng cho các hoạt động CRUD khác.  

Chạy 'ứng dụng nút. js’ và nên quan sát nhật ký đề cập đến việc kết nối thành công với máy chủ.  

Chèn. Bây giờ chúng ta có đối tượng db, hãy giữ bộ sưu tập và chèn một số đối tượng vào đó.  

Tạo hàm ‘insertDocuments’ để thực hiện thao tác chèn vào bộ sưu tập. Gọi đây là insertDocuments trong gọi lại của kết nối thành công.  

db.users.insert({“name”: “Sachin Tendulkar”})
7

Trong gọi lại của insertDocuments, chúng tôi nhận được đối tượng kết quả như hình bên dưới.  

db.users.insert({“name”: “Sachin Tendulkar”})
8

hoạt động.  

db.users.insert({“name”: “Sachin Tendulkar”})
9

Như bạn có thể thấy, đối tượng kết quả cung cấp tổng quan về hành động. Ops là các đối tượng được thêm vào bộ sưu tập. Và các lĩnh vực khác là tự giải thích.  

Ghi chú. Bạn có thể nhận thấy rằng một trường mới '_id' đã được thêm vào. Trường này do MongoDB tạo ra để nhận dạng duy nhất. Nếu chúng tôi không hài lòng với id duy nhất, chúng tôi cũng có thể cung cấp như chúng tôi đã làm trong quá trình nhập dữ liệu.  

Tìm thấy. Hãy kiểm tra xem các tài liệu đã thêm có thể được truy xuất bằng cách sử dụng find.  

Đối tượng bộ sưu tập có một phương thức gọi là 'tìm' lấy tham số i. e. truy vấn tìm kiếm để xác định các đối tượng. Nếu nó trống thì tất cả các tài liệu được trả lại. Gọi findDouments trong gọi lại của thao tác chèn để xác thực các bản ghi được chèn. Chúng tôi cũng có thể sử dụng bộ lọc truy vấn để nhận mục cụ thể.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
0

Ví dụ: nếu chúng tôi muốn tìm một bộ tài liệu cụ thể dựa trên bộ lọc truy vấn được xác định trước như '{'a'. 3}’.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
1

cập nhật. Giờ hãy đi và cập nhật một tài liệu cụ thể. Có nhiều phương pháp khác nhau để cập nhật như update, updateMany, updateOne, v.v. Sử dụng phương thức updateOne để cập nhật phương thức đầu tiên phù hợp với truy vấn.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
2

Hãy gửi bộ lọc dưới dạng {a. 2} tôi. e. tài liệu có trường a bằng 2, cập nhật thành $set. {b. 1} để tránh thay thế toàn bộ đối tượng i. e. thêm trường b mới vào tài liệu với giá trị được đặt là 1. Bỏ qua các tùy chọn là tùy chọn và có lệnh gọi lại để nắm bắt các hành động của bài đăng.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
3

xóa. Hãy sử dụng phương thức deleteOne để tìm và xóa mục đầu tiên có trường a và giá trị 3.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
4

Ghi chú. Tất cả các phương thức trên bộ sưu tập trả về đối tượng lời hứa nếu gọi lại không được thông qua. Vì vậy, để tránh callback hell như chúng ta thấy ở trên, chúng ta có thể dựa vào lời hứa và lập trình mã tốt hơn.  

Ứng dụng nút nhanh với MongoDB để lưu trữ và phân phát nội dung

Bây giờ chúng ta đã có ý tưởng hợp lý về cách làm việc với MongoDB bằng cách sử dụng mongoshell và nút. trình điều khiển js. Hãy để chúng tôi xây dựng một ứng dụng đơn giản bằng cách sử dụng ứng dụng nút nhanh với MongoDB để lưu trữ và cung cấp nội dung.  

Ghi chú. Vì chủ đề này nói về MongoDB chứ không phải express nên chúng tôi sẽ giữ ứng dụng express là phiên bản cơ bản.  

Hãy để chúng tôi đi và nhận xét tất cả mã trong ứng dụng. js từ ví dụ trước. Chúng ta nên để lại với điều này.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
5

Gọi một thiết bị đầu cuối và điều hướng đến thư mục chứa ứng dụng. tập tin js nằm.  

Hãy để chúng tôi cài đặt express bằng lệnh bên dưới.  

  • npm cài đặt nhanh –save

Nhập express và body-parser như hình bên dưới.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
6

mã hợp nhất.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
7

Trong thiết bị đầu cuối, hãy chạy 'ứng dụng nút. js' và sẽ thấy nhật ký giao diện điều khiển mà ứng dụng đang lắng nghe ở cổng 3000. Để kiểm tra tuyến đường mặc định có hoạt động chính xác không. Gọi người đưa thư và thực hiện thao tác get

How to Create MongoDB Database in Node.js

Bây giờ, chúng ta hãy tạo một lộ trình mới để truy xuất tài liệu dựa trên trường a và giá trị được tham số hóa.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
8

tên là tham số được truyền. Vì vậy, hãy truy xuất nó từ các tham số yêu cầu. Và vì chúng ta biết nó là số chứ không phải chuỗi. Hãy phân tích nó thành số nguyên.  

db.users.insert({“name”: “Sachin Tendulkar”}) 
9

Bây giờ, hãy kết nối với MongoClient như trước đó. Lần này, chúng tôi sẽ không sử dụng phương pháp gọi lại mà dựa vào lời hứa được trả lại.  

npm install MongoDB --save 
0

Vì đối tượng được trả về là một lời hứa và để lời hứa được giải quyết hoặc từ chối. Chúng tôi cần sử dụng từ khóa chờ đợi trước khi tiếp tục.  

Ghi chú. Đối tượng Promise có hai thuộc tính i. e. trạng thái và kết quả. Thuộc tính trạng thái lời hứa ban đầu có 'đang chờ xử lý' và việc thực thi sau đó sẽ là 'hoàn thành' (giải quyết) hoặc 'bị từ chối' (từ chối). Tương tự, kết quả ban đầu sẽ là 'không xác định' và sau đó thay đổi thành 'giá trị' [giải quyết (giá trị)] hoặc 'lỗi' [từ chối (lỗi)].  

Hãy để chúng tôi lấy db 'myproject' và tìm tài liệu đầu tiên dựa trên truy vấn bộ lọc từ bộ sưu tập bằng phương pháp findOne.  

npm install MongoDB --save 
1

Khi chúng tôi nhận được tài liệu, hãy trả lại trạng thái là 200 với tài liệu đã nhận được và đóng kết nối máy khách.  

npm install MongoDB --save 
2

Vì chúng tôi đang sử dụng từ khóa chờ đợi, chúng tôi cần thêm từ khóa không đồng bộ vào lệnh gọi lại. Và cũng cho phép thêm một khối try-catch để trả về trạng thái lỗi trong trường hợp lỗi kết nối như lỗi máy chủ nội bộ.  

npm install MongoDB --save 
3

Bây giờ chúng tôi sẵn sàng khởi động lại ứng dụng tốc hành của mình. Nhấn ctrl + c và chạy ứng dụng nút. js để xem ứng dụng đang lắng nghe tại. Đảm bảo rằng MongoDB Server đang hoạt động ở chế độ nền.  

Chuyển sang người đưa thư và thực hiện thao tác GET. Điều này sẽ trả về bản ghi đầu tiên trong bộ sưu tập như hình dưới đây.  

npm install MongoDB --save 
4

Yêu cầu GET tương tự có thể được thực hiện cho các tài liệu khác bằng cách thay đổi tên thành 2

How to Create MongoDB Database in Node.js

Tương tự như thao tác nhận, chúng ta có thể định cấu hình các tuyến để thực hiện các thao tác CRUD khác trên MongoDB để lưu trữ và phân phát nội dung.   

Phần kết luận

Trong hướng dẫn này, chúng tôi đã xem qua khả năng tương thích và khả năng tương thích ngôn ngữ của MongoDB và khám phá trình bao Mongo. Chúng ta đã xem cách nhập dữ liệu vào cơ sở dữ liệu, cách sử dụng trình điều khiển MongoDB và Node. hoạt động CRUD dựa trên js. Chúng tôi cũng đã xem xét cách xây dựng một ứng dụng đơn giản bằng ứng dụng node express với MongoDB để lưu trữ và phân phát nội dung

Được trang bị kiến ​​thức này, bạn đã sẵn sàng để tìm hiểu sâu hơn về MongoDB và NodeJS. Ở đây chúc bạn những điều tốt đẹp nhất.  

Lập trình thực đòi hỏi các bài tập thực. Thực hành viết mã trực tiếp với các chuyên gia lập trình của chúng tôi trong các hội thảo trực tiếp ngay bây giờ

Làm cách nào để tạo cơ sở dữ liệu trong MongoDB?

Tab Cơ sở dữ liệu trong MongoDB Compass có nút "Tạo cơ sở dữ liệu". .
Nhấp vào "Tạo cơ sở dữ liệu" để mở hộp thoại
Nhập tên của cơ sở dữ liệu và bộ sưu tập đầu tiên của nó
Nhấp vào "Tạo cơ sở dữ liệu"

Làm cách nào để tạo cơ sở dữ liệu trong Node js?

Thiết lập môi trường và Thực thi. .
Tạo dự án npm init
Cài đặt Mô-đun npm cài đặt express npm cài đặt mysql
Tạo và xuất đối tượng kết nối mysql. kết nối sql. js. kết nối sql. js. const mysql = yêu cầu("mysql" ); . createConnection({ máy chủ. "máy chủ cục bộ", người dùng. "gốc", mật khẩu. '' });

Làm cách nào để tạo bộ sưu tập MongoDB trong nodejs?

var MongoClient = yêu cầu('mongodb'). MongoClient;
MongoClient. kết nối (url, chức năng (err, db) {
nếu (err) ném err;
db. createCollection("employees", function(err, res) {
nếu (err) ném err;
bảng điều khiển. log("Bộ sưu tập được tạo. ");
db. đóng lại();

Bạn sẽ kết nối cơ sở dữ liệu MongoDB với nút JS như thế nào?

Để kết nối một Nút. js sang MongoDB, chúng ta phải sử dụng thư viện có tên là Mongoose . cầy mangut. kết nối ("mongodb. //máy chủ cục bộ. 27017/collectionName", { useNewUrlParser. đúng, sử dụngUnifiedTopology. đúng });