Bạn có thể sử dụng prisma với mongodb không
Prisma là một ORM hỗ trợ nhiều cơ sở dữ liệu phổ biến; . Khi xây dựng một Node. js kết nối với cơ sở dữ liệu MongoDB, Mongoose là lựa chọn thực tế cho nhiều nhà phát triển Show
Hôm nay chúng ta sẽ sử dụng Prisma và xem nó làm cho tương tác trở nên đơn giản hơn như thế nào, từ việc xác định lược đồ đến thực hiện các truy vấn tới cơ sở dữ liệu Những gì chúng ta sẽ xây dựngChúng tôi sẽ xây dựng phần phụ trợ của blog cộng đồng nơi người dùng có thể
Đây là lược đồ cơ sở dữ liệu của ứng dụng được thiết kế với Moon Modeler điều kiện tiên quyếtBạn phải cài đặt các công cụ sau trên máy tính của mình để làm theo hướng dẫn này
Tạo một bộ bản sao trong MongoDB với Docker Compose Hướng dẫn này sẽ chỉ ra cách tạo một bộ bản sao trong MongoDB, sau đó sử dụng Docker soạn thảo để thực hiện thiết lập đơn giản hơn Hướng dẫn về TecoEric Cabrel TIOGOTạo dự ánTrong hướng dẫn này, chúng tôi đã xây dựng một dự án khởi động cho Node. js với Typescript và sẽ sử dụng nó để khởi tạo dự án Chạy lệnh bên dưới
Thiết lập PrismaBên trong thư mục dự án, cài đặt Prisma CLI
Khởi tạo Prisma cho dự án của chúng tôi
Lệnh này sẽ tạo một lược đồ Prisma và một. env để đặt các biến môi trường để đưa vào ứng dụng Thay thế nội dung của tệp 5 bằng mã bên dưới để đặt nhà cung cấp thành MongoDB
Mở. env và cập nhật URL cơ sở dữ liệu thành chuỗi kết nối của phiên bản MongoDB mà bạn đã tạo trên Atlas
Replace Tạo lược đồ cơ sở dữ liệuTừ hình ảnh của lược đồ cơ sở dữ liệu, chúng tôi có hai bộ sưu tập 6 và 7Cập nhật tệp 5 bằng mã bên dưới
Tạo các loại từ lược đồTrước tiên, chúng tôi sẽ cài đặt ứng dụng khách Prisma cung cấp API để dễ dàng thực hiện các truy vấn cơ sở dữ liệu từ các mô hình của bạn.
Bây giờ chúng ta sẽ tạo các kiểu từ lược đồ Prisma
Lệnh trên tạo các loại được xác định trong thư mục 9 và @prisma/client nhập các loại nàyChèn dữ liệuChèn dữ liệu bao gồm tạo Người dùng và Bài đăng. Trong thư mục 0, hãy tạo một tệp 1 và thêm mã bên dưới
Chạy lệnh bên dưới để thực thi tệp
Chúng tôi đã nhận được đầu ra sau Đầu ra của dữ liệu đã được chènThêm bình luận vào bài viếtNhận xét là con của một bài đăng, còn được gọi là. Làm cách nào để thêm nhận xét mới vào bài đăng hiện có bằng Prisma Client? Nối mã bên dưới vào tệp 1 0Làm sạch cơ sở dữ liệu của bạn trước khi chạy lại mã; Chạy lại 3 và chúng tôi nhận được đầu ra sauKhôi phục dữ liệuDưới đây là một số câu truy vấn để lấy dữ liệu từ cơ sở dữ liệu, tạo một tệp 4 và thêm mã bên dưới 1Chạy lệnh 5Cập nhật dữ liệuTạo một tệp 6 và thêm mã bên dưới 2Xóa dữ liệuViệc xóa dữ liệu khá đơn giản với ứng dụng khách Prisma; 3Lưu ý về ràng buộc toàn vẹnMột trong những điểm khác biệt chính giữa NoSQL và cơ sở dữ liệu quan hệ là ràng buộc thực thi tính toàn vẹn đối với cơ sở dữ liệu sau. Nếu bạn cố xóa một người dùng là tác giả của một số bài đăng, hành động sẽ không thành công vì bạn nên xóa tất cả các bài đăng của anh ấy trước Trong cơ sở dữ liệu NoSQL, việc xóa sẽ thành công, nhưng khi sử dụng Prisma, hành vi của cơ sở dữ liệu quan hệ được sao chép khi bạn xác định mối quan hệ giữa người dùng và Bài đăng Để xóa một người dùng với tất cả các bài đăng của anh ấy, hãy cập nhật mối quan hệ trên lược đồ Prisma để cho phép xóa theo tầng 4Gói (lạiNếu bạn đã từng sử dụng Prisma trên cơ sở dữ liệu quan hệ, bạn sẽ nhận ra cách sử dụng với cơ sở dữ liệu NoSQL không có gì khác biệt. Điều này thật tuyệt vì bằng cách giữ nguyên mô hình tinh thần bất kể bạn sử dụng cơ sở dữ liệu nào
Bạn có thể tìm mã nguồn trên kho lưu trữ GitHub Theo dõi tôi trên Twitter hoặc đăng ký nhận bản tin của tôi để tránh bỏ lỡ các bài đăng sắp tới cũng như các mẹo và thủ thuật mà tôi thỉnh thoảng chia sẻ Prisma 2 có hỗ trợ MongoDB không?Tương tự như MongoDB, Prisma cũng cung cấp ứng dụng khách cơ sở dữ liệu mà bạn có thể sử dụng để truy vấn cơ sở dữ liệu MongoDB của mình . Khách hàng Prisma. Một trong những điểm khác biệt chính giữa hai loại này là Prisma Client nhận thức được lược đồ bạn xác định, vì vậy nó có thể giúp bạn viết các truy vấn của mình thông qua tính năng tự động hoàn thành.
Prisma sử dụng cơ sở dữ liệu nào?Bạn có thể gặp lỗi khi sử dụng Prisma Migrate và Introspection. Chúng tôi khuyên bạn nên sử dụng PostgreSQL phiên bản 9. 6 trở lên .
Làm cách nào để di chuyển MongoDB bằng Prisma?Quy trình chung để thực hiện di chuyển với Prisma như sau. . Điều chỉnh tệp mô hình dữ liệu để phản ánh lược đồ mong muốn mới Chạy triển khai prisma1 để áp dụng các thay đổi và thực hiện di chuyển API Prisma (và có khả năng là) cơ sở dữ liệu MongoDB bên dưới) MongoDB không phù hợp để làm gì?Một trong những nhược điểm của MongoDB là không hỗ trợ giao dịch . Mặc dù ngày càng có ít ứng dụng yêu cầu giao dịch nhưng vẫn có một số ứng dụng cần giao dịch để cập nhật nhiều tài liệu/bộ sưu tập. Nếu đó là chức năng cần thiết cho nhóm của bạn thì không nên sử dụng MongoDB. |