MongoDB chắc chắn là một trong những lựa chọn cơ sở dữ liệu NoSQL phổ biến nhất hiện nay. Và nó có một cộng đồng và hệ sinh thái tuyệt vời Show
Trong bài viết này, chúng tôi sẽ xem xét một số phương pháp hay nhất để tuân theo khi bạn thiết lập MongoDB và Mongoose với Node. js Điều kiện tiên quyết cho bài viết nàyBài viết này là một trong lộ trình học tập phụ trợ của codedamn, nơi chúng tôi bắt đầu từ những điều cơ bản về phụ trợ và trình bày chi tiết về chúng. Vì vậy, tôi cho rằng bạn có một số kinh nghiệm với JavaScript (và Node. js) rồi Hiện tại chúng tôi đang ở đây Nếu bạn có rất ít kinh nghiệm với Node. js/JavaScript hoặc phần cuối nói chung, đây có lẽ là một nơi tốt để bắt đầu. Bạn cũng có thể tìm khóa học miễn phí về Mongoose + MongoDB + Node. js ở đây. Hãy đi sâu vào Tại sao bạn cần Mongoose?Để hiểu tại sao chúng ta cần Mongoose, hãy hiểu cách MongoDB (và cơ sở dữ liệu) hoạt động ở cấp độ kiến trúc
Máy chủ MongoDB lắng nghe trên ổ cắm TCP (thường) và Nút của bạn. js có thể kết nối với nó bằng kết nối TCP Nhưng ngoài TCP, MongoDB cũng có giao thức riêng để hiểu chính xác ứng dụng khách là gì (Nút của chúng tôi. js) muốn cơ sở dữ liệu thực hiện Đối với giao tiếp này, thay vì tìm hiểu các thông báo chúng tôi phải gửi trên lớp TCP, chúng tôi trừu tượng hóa điều đó với sự trợ giúp của phần mềm "trình điều khiển", được gọi là trình điều khiển MongoDB trong trường hợp này. Trình điều khiển MongoDB có sẵn dưới dạng gói npm tại đây Bây giờ hãy nhớ rằng, trình điều khiển MongoDB chịu trách nhiệm kết nối và tóm tắt các yêu cầu/phản hồi giao tiếp cấp thấp từ bạn – nhưng điều này chỉ giúp bạn tiến xa hơn với tư cách là một nhà phát triển Bởi vì MongoDB là một cơ sở dữ liệu không lược đồ, nên nó cung cấp cho bạn nhiều sức mạnh hơn mức bạn cần khi mới bắt đầu. Nhiều năng lượng hơn có nghĩa là nhiều diện tích bề mặt hơn để làm sai. Bạn cần giảm diện tích bề mặt của các lỗi và sai sót mà bạn có thể tạo ra trong mã của mình. Bạn cần một cái gì đó nhiều hơn Gặp Mongoose. Mongoose là một bản tóm tắt đối với trình điều khiển MongoDB gốc (gói npm tôi đã đề cập ở trên) Nguyên tắc chung với sự trừu tượng (theo cách tôi hiểu) là với mỗi lần trừu tượng, bạn sẽ mất một số sức mạnh hoạt động ở mức độ thấp. Nhưng điều đó không nhất thiết có nghĩa là nó xấu. Đôi khi, nó tăng năng suất gấp 1000 lần+ bởi vì dù sao thì bạn cũng không bao giờ thực sự cần có toàn quyền truy cập vào API cơ bản Một cách hay để suy nghĩ về nó là về mặt kỹ thuật, bạn tạo một ứng dụng trò chuyện thời gian thực bằng cả C và Python Ví dụ về Python sẽ dễ dàng và nhanh hơn nhiều đối với bạn với tư cách là nhà phát triển để triển khai với năng suất cao hơn C có thể hiệu quả hơn, nhưng nó sẽ phải trả giá đắt về năng suất/tốc độ phát triển/lỗi/sự cố. Ngoài ra, phần lớn bạn không cần phải có sức mạnh mà C cung cấp cho bạn để triển khai ổ cắm web Tương tự, với Mongoose, bạn có thể giới hạn diện tích bề mặt của quyền truy cập API cấp thấp hơn, nhưng mở khóa rất nhiều lợi ích tiềm năng và DX tốt Cách kết nối Mongoose + MongoDBĐầu tiên, hãy xem nhanh cách bạn nên kết nối với cơ sở dữ liệu MongoDB của mình vào năm 2020 với Mongoose
Định dạng kết nối này đảm bảo rằng bạn đang sử dụng Trình phân tích cú pháp URL mới từ Mongoose và bạn không sử dụng bất kỳ phương pháp nào không được chấp nhận. Bạn có thể đọc chi tiết về tất cả các thông báo không dùng nữa tại đây nếu muốn Cách thực hiện thao tác MongooseBây giờ chúng ta hãy tiếp tục và nhanh chóng thảo luận về các hoạt động với Mongoose và cách bạn nên thực hiện chúng Mongoose cung cấp cho bạn các tùy chọn cho hai điều
Truy vấn dựa trên con trỏTruy vấn dựa trên con trỏ có nghĩa là bạn làm việc với một bản ghi tại một thời điểm trong khi bạn tìm nạp một hoặc một nhóm tài liệu tại một thời điểm từ cơ sở dữ liệu. Đây là một cách hiệu quả để làm việc với lượng dữ liệu khổng lồ trong môi trường bộ nhớ hạn chế Hãy tưởng tượng rằng bạn phải phân tích các tài liệu có tổng dung lượng 10GB trên máy chủ đám mây 1GB/1core. Bạn không thể tìm nạp toàn bộ bộ sưu tập vì bộ sưu tập đó sẽ không vừa với hệ thống của bạn. Con trỏ là một lựa chọn tốt (và duy nhất?) Ở đây Truy vấn tìm nạp đầy đủĐây là loại truy vấn mà bạn nhận được toàn bộ phản hồi cho truy vấn của mình cùng một lúc. Đối với hầu hết các phần, đây là những gì bạn sẽ sử dụng. Do đó, chúng tôi sẽ tập trung chủ yếu vào phương pháp này ở đây Cách sử dụng Mô hình MongooseCác mô hình là siêu năng lực của Mongoose. Chúng giúp bạn thực thi các quy tắc "lược đồ" và cung cấp sự tích hợp liền mạch mã Nút của bạn vào các lệnh gọi cơ sở dữ liệu Bước đầu tiên là xác định một mô hình tốt
Đây là một ví dụ được rút gọn trực tiếp từ codebase của codedamn. Một vài điều thú vị bạn nên lưu ý ở đây
Cách thực hiện các hoạt động CRUDCRUD có nghĩa là Tạo, Đọc, Cập nhật và Xóa. Đây là bốn tùy chọn cơ bản mà bạn có thể thực hiện bất kỳ loại thao tác dữ liệu nào trong cơ sở dữ liệu. Hãy nhanh chóng xem một số ví dụ về các hoạt động này Thao tác tạoĐiều này đơn giản có nghĩa là tạo một bản ghi mới trong cơ sở dữ liệu. Hãy sử dụng mô hình chúng tôi đã xác định ở trên để tạo một bản ghi
Một lần nữa, một vài gợi ý ở đây
Thao tác đọcĐiều này có nghĩa là đọc các giá trị hiện có từ cơ sở dữ liệu. Nghe có vẻ đơn giản, nhưng có một số vấn đề bạn nên biết với Mongoose
Thao tác cập nhậtNếu bạn đã có tài liệu Mongoose bên mình (không kích hoạt bằng 2), bạn có thể chỉ cần tiếp tục và sửa đổi thuộc tính đối tượng và lưu nó bằng cách sử dụng 5
Hãy nhớ rằng ở đây, có hai cuộc gọi cơ sở dữ liệu được thực hiện. Cái đầu tiên là vào ngày 6 và cái thứ hai là vào ngày 7Nếu có thể, bạn phải luôn giảm số lượng yêu cầu truy cập vào cơ sở dữ liệu (vì nếu bạn đang so sánh bộ nhớ, mạng và đĩa, thì mạng hầu như luôn chậm nhất) Trong trường hợp khác, bạn có thể sử dụng truy vấn như thế này
và nó sẽ chỉ thực hiện một cuộc gọi đến cơ sở dữ liệu Thao tác xóaXóa cũng đơn giản với Mongoose. Hãy xem cách bạn có thể xóa một tài liệu
Cũng giống như 8, 9 cũng chấp nhận đối số đầu tiên làm điều kiện khớp cho tài liệuNgoài ra còn có một phương pháp khác gọi là 0 chỉ nên được sử dụng khi bạn biết mình muốn xóa nhiều tài liệuTrong bất kỳ trường hợp nào khác, hãy luôn sử dụng 9 để tránh vô tình xóa nhiều lần, đặc biệt khi bạn đang cố gắng tự mình thực hiện các truy vấnPhần kết luậnBài viết này là phần giới thiệu đơn giản về thế giới Mongoose và MongoDB cho Node. nhà phát triển js Nếu bạn thích bài viết này, bạn có thể đẩy mạnh trò chơi của mình hơn nữa với tư cách là nhà phát triển bằng cách làm theo lộ trình học tập phụ trợ codedamn. Vui lòng liên hệ với tôi trên Twitter nếu có bất kỳ phản hồi nào QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Nhà phát triển độc lập, người đam mê kỹ thuật bảo mật, thích xây dựng và phá vỡ mọi thứ bằng mã và JavaScript <3 Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu Làm cách nào để kết nối với MongoDB trong Nodejs bằng cầy mangut?Bạn có thể kết nối với MongoDB bằng mongoose. phương thức connect() . cầy mangut. kết nối ('mongodb. //127. 0. 0. 1. 27017/myapp'); . Nếu kết nối không thành công trên máy của bạn, hãy thử sử dụng 127. 0. 0. 1 thay vì máy chủ cục bộ.
Làm cách nào để kết nối MongoDB trong nodejs?js cho 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 VẬY }); .
Làm cách nào để kết nối MongoDB Compass với Node js?Cách tiếp cận. - . Đầu tiên, khởi tạo nút. js trong thư mục cụ thể trong máy của bạn cài đặt các mô-đun nút trong thư mục dự án Sau đó, tạo một kết nối đến cơ sở dữ liệu Làm cách nào để kết nối MongoDB với Node js trong Mã VS?Để 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 chọn Kết nối , mặc định là MongoDB cục bộ . //127. 0. 0. 1. 27017. 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. |