Hướng dẫn python mongoose equivalent - trăn cầy mangut tương đương
MongoDB là một giải pháp cơ sở dữ liệu theo định hướng tài liệu và NoQuery, cung cấp khả năng mở rộng và tính linh hoạt tuyệt vời cùng với một hệ thống truy vấn mạnh mẽ. Với MongoDB và Python, bạn có thể phát triển nhiều loại ứng dụng cơ sở dữ liệu khác nhau một cách nhanh chóng. Vì vậy, nếu ứng dụng Python của bạn cần một cơ sở dữ liệu mà Lôi linh hoạt như chính ngôn ngữ, thì MongoDB là dành cho bạn. Show
Trong hướng dẫn này, bạn sẽ học:
Trong suốt hướng dẫn này, bạn sẽ viết một vài ví dụ sẽ thể hiện sự linh hoạt và sức mạnh của MongoDB và hỗ trợ Python tuyệt vời của nó. Để tải xuống mã nguồn cho các ví dụ đó, nhấp vào liên kết bên dưới: Sử dụng cơ sở dữ liệu SQL vs NoQueryTrong nhiều thập kỷ, cơ sở dữ liệu SQL là một trong những lựa chọn duy nhất cho các nhà phát triển muốn xây dựng các hệ thống cơ sở dữ liệu lớn và có thể mở rộng. Tuy nhiên, nhu cầu ngày càng tăng trong việc lưu trữ các cấu trúc dữ liệu phức tạp đã dẫn đến sự ra đời của cơ sở dữ liệu NoQuery. Loại hệ thống cơ sở dữ liệu mới này cho phép các nhà phát triển lưu trữ dữ liệu không đồng nhất và không cấu trúc hiệu quả.NoSQL databases. This new kind of database system allows developers to store heterogeneous and structureless data efficiently. Nói chung, các hệ thống cơ sở dữ liệu NoQuery lưu trữ và truy xuất dữ liệu theo một cách khác nhiều so với các hệ thống quản lý cơ sở dữ liệu quan hệ SQL (RDBMSS). Khi nói đến việc lựa chọn từ các công nghệ cơ sở dữ liệu hiện có, bạn có thể cần quyết định giữa việc sử dụng các hệ thống SQL hoặc NoQuery. Cả hai đều có các tính năng cụ thể mà bạn nên xem xét khi chọn cái này hay cái khác. Dưới đây là một số khác biệt đáng kể hơn của họ:
Có nhiều sự khác biệt khác giữa hai loại cơ sở dữ liệu, nhưng những loại được đề cập ở trên là một số loại quan trọng hơn cần biết. Khi chọn cơ sở dữ liệu, bạn nên xem xét điểm mạnh và điểm yếu của nó một cách cẩn thận. Bạn cũng cần xem xét cách cơ sở dữ liệu phù hợp với kịch bản cụ thể của bạn và các yêu cầu ứng dụng của bạn. Đôi khi giải pháp phù hợp là sử dụng kết hợp cơ sở dữ liệu SQL và NoQuery để xử lý các khía cạnh khác nhau của hệ thống rộng hơn. Một số ví dụ phổ biến về cơ sở dữ liệu SQL bao gồm:
Các ví dụ cơ sở dữ liệu NoQuery bao gồm:
Trong những năm gần đây, cơ sở dữ liệu SQL và NoQuery thậm chí đã bắt đầu hợp nhất. Ví dụ: các hệ thống cơ sở dữ liệu, chẳng hạn như PostgreSQL, MySQL và Microsoft SQL Server hiện hỗ trợ lưu trữ và truy vấn dữ liệu JSON, giống như cơ sở dữ liệu NoQuery. Với điều này, bây giờ bạn có thể đạt được nhiều kết quả tương tự với cả hai công nghệ. Nhưng bạn vẫn không nhận được nhiều tính năng NoQuery, chẳng hạn như tỷ lệ ngang và giao diện thân thiện với người dùng. Với nền tảng ngắn gọn này về cơ sở dữ liệu SQL và NoQuery, bạn có thể tập trung vào chủ đề chính của hướng dẫn này: cơ sở dữ liệu MongoDB và cách sử dụng nó trong Python.MongoDB database and how to use it in Python. Quản lý cơ sở dữ liệu Noql với MongoDBMongoDB là một cơ sở dữ liệu định hướng tài liệu được phân loại là NoQuery. Nó trở nên phổ biến trong toàn ngành trong những năm gần đây và tích hợp cực kỳ tốt với Python. Không giống như SQL RDBMS truyền thống, MongoDB sử dụng các bộ sưu tập tài liệu thay vì các bảng hàng để tổ chức và lưu trữ dữ liệu.document-oriented database classified as NoSQL. It’s become popular throughout the industry in recent years and integrates extremely well with Python. Unlike traditional SQL RDBMSs, MongoDB uses collections of documents instead of tables of rows to organize and store data. MongoDB lưu trữ dữ liệu trong các tài liệu giống như JSON và linh hoạt. Ở đây, sơ đồ có nghĩa là bạn có thể có tài liệu với một tập hợp các trường khác nhau trong cùng một bộ sưu tập, mà không cần phải đáp ứng một lược đồ bàn cứng nhắc.schemaless means that you can have documents with a different set of fields in the same collection, without the need for satisfying a rigid table schema. Bạn có thể thay đổi cấu trúc của tài liệu và dữ liệu của mình theo thời gian, dẫn đến một hệ thống linh hoạt cho phép bạn nhanh chóng thích ứng với các thay đổi yêu cầu mà không cần một quy trình di chuyển dữ liệu phức tạp. Tuy nhiên, sự đánh đổi trong việc thay đổi cấu trúc của các tài liệu mới là việc thoát các tài liệu trở nên không phù hợp với lược đồ được cập nhật. Vì vậy, đây là một chủ đề cần được quản lý cẩn thận. MongoDB được viết bằng C ++ và tích cực được phát triển bởi MongoDB Inc. Nó chạy trên tất cả các nền tảng chính, như MacOS, Windows, Solaris và hầu hết các bản phân phối Linux. Nhìn chung, có ba mục tiêu phát triển chính đằng sau cơ sở dữ liệu MongoDB:
MongoDB là một cơ sở dữ liệu phân tán, vì vậy tính sẵn sàng cao, tỷ lệ ngang và phân phối địa lý được tích hợp vào hệ thống. Nó lưu trữ dữ liệu trong các tài liệu giống như JSON linh hoạt. Bạn có thể mô hình hóa các tài liệu này để ánh xạ các đối tượng trong các ứng dụng của bạn, điều này có thể hoạt động với dữ liệu của bạn một cách hiệu quả.distributed database, so high availability, horizontal scaling, and geographic distribution are built into the system. It stores data in flexible JSON-like documents. You can model these documents to map the objects in your applications, which makes it possible to work with your data effectively. MongoDB cung cấp một ngôn ngữ truy vấn mạnh mẽ hỗ trợ các truy vấn ad hoc, lập chỉ mục, tổng hợp, tìm kiếm không gian địa lý, tìm kiếm văn bản và nhiều hơn nữa. Điều này giới thiệu cho bạn một bộ công cụ mạnh mẽ để truy cập và làm việc với dữ liệu của bạn. Cuối cùng, MongoDB có sẵn miễn phí và có hỗ trợ Python tuyệt vời. Xem lại các tính năng của MongoDBCho đến nay, bạn đã học được MongoDB là gì và mục tiêu chính của nó là gì. Trong phần này, bạn sẽ tìm hiểu về một số tính năng quan trọng hơn của MongoDB. Đối với phía quản lý cơ sở dữ liệu, MongoDB cung cấp các tính năng sau:
Đối với phía hoạt động, MongoDB cung cấp một vài công cụ và tính năng mà bạn đã giành được tìm thấy trong các hệ thống cơ sở dữ liệu khác:
Tất cả các tính năng này khá hữu ích. Ví dụ: nếu bạn tận dụng tính năng lập chỉ mục, thì phần lớn dữ liệu của bạn sẽ được lưu trong bộ nhớ để truy xuất nhanh. Ngay cả khi không lập chỉ mục các khóa tài liệu cụ thể, MongoDB đã lưu trữ khá nhiều dữ liệu bằng kỹ thuật được sử dụng gần đây nhất. Cài đặt và chạy MongoDBBây giờ bạn đã quen thuộc với MongoDB, đã đến lúc làm bẩn tay và bắt đầu sử dụng nó. Nhưng trước tiên, bạn cần cài đặt nó trên máy của bạn. Trang web chính thức của MongoDB cung cấp hai phiên bản của máy chủ cơ sở dữ liệu:
Nếu bạn trên Windows, thì bạn có thể đọc qua hướng dẫn cài đặt để được hướng dẫn đầy đủ. Nói chung, bạn có thể truy cập trang tải xuống, chọn nền tảng Windows trong hộp tải xuống có sẵn, chọn trình cài đặt 1 phù hợp với hệ thống hiện tại của bạn và nhấp vào Tải xuống.Chạy trình cài đặt và làm theo các hướng dẫn trên màn hình trên Trình hướng dẫn cài đặt. Trang này cũng cung cấp thông tin về cách chạy MongoDB dưới dạng dịch vụ Windows. Nếu bạn trên macOS, thì bạn có thể sử dụng homebrew để cài đặt MongoDB trên hệ thống của mình. Xem hướng dẫn cài đặt để có được hướng dẫn đầy đủ. Ngoài ra, hãy đảm bảo làm theo hướng dẫn để chạy MongoDB như một dịch vụ MacOS. Nếu bạn trên Linux, thì quá trình cài đặt sẽ phụ thuộc vào phân phối cụ thể của bạn. Để có hướng dẫn chi tiết về cách cài đặt MongoDB trên các hệ thống Linux khác nhau, hãy truy cập trang Hướng dẫn cài đặt và chọn hướng dẫn phù hợp với hệ điều hành hiện tại của bạn. Hãy chắc chắn rằng bạn chạy Daemon MongoDB, 2, ở cuối bản cài đặt.Cuối cùng, bạn cũng có thể cài đặt MongoDB bằng Docker. Điều này rất tiện lợi nếu bạn không muốn làm lộn xộn hệ thống của mình với một cài đặt khác. Nếu bạn thích tùy chọn cài đặt này, thì bạn có thể đọc qua hướng dẫn chính thức và làm theo hướng dẫn của nó. Lưu ý rằng kiến thức trước đây về cách sử dụng Docker sẽ được yêu cầu trong trường hợp này. Với cơ sở dữ liệu MongoDB được cài đặt và chạy trên hệ thống của bạn, bạn có thể bắt đầu làm việc với cơ sở dữ liệu thực bằng cách sử dụng shell 3.Tạo cơ sở dữ liệu MongoDB với vỏ { field1 → value1, field2 → value2, field3 → value3, ... fieldN → valueN } 3Nếu bạn đã làm theo hướng dẫn cài đặt và chạy, thì bạn đã có một thể hiện MongoDB chạy trên hệ thống của mình. Bây giờ bạn có thể bắt đầu tạo và kiểm tra cơ sở dữ liệu của riêng bạn. Trong phần này, bạn sẽ học cách sử dụng shell 3 để tạo, đọc, cập nhật và xóa tài liệu trên cơ sở dữ liệu.Chạy vỏ { field1 → value1, field2 → value2, field3 → value3, ... fieldN → valueN } 3Vỏ 3 là giao diện JavaScript tương tác với MongoDB. Bạn có thể sử dụng công cụ này để truy vấn và thao tác dữ liệu cũng như thực hiện các hoạt động quản trị. Vì nó là một giao diện JavaScript, bạn đã giành được ngôn ngữ SQL quen thuộc để truy vấn cơ sở dữ liệu. Thay vào đó, bạn sẽ sử dụng mã JavaScript.Để khởi chạy shell 3, hãy mở dòng thiết bị đầu cuối hoặc dòng lệnh của bạn và chạy lệnh sau:Lệnh này đưa bạn đến vỏ 3. Tại thời điểm này, bạn có thể thấy một loạt các tin nhắn có thông tin về phiên bản Shell Shell và trên địa chỉ và cổng nghiêm trọng. Cuối cùng, bạn sẽ được trình bày với dấu nhắc Shell ( 0) để nhập các truy vấn và lệnh.Bạn có thể chuyển địa chỉ cơ sở dữ liệu như một đối số cho lệnh 3. Bạn cũng có thể sử dụng một số tùy chọn, chẳng hạn như chỉ định máy chủ và cổng để truy cập cơ sở dữ liệu từ xa, v.v. Để biết thêm chi tiết về cách sử dụng lệnh 3, bạn có thể chạy 3.Thiết lập một kết nốiKhi bạn chạy lệnh 3 mà không có đối số, nó sẽ khởi chạy shell và kết nối với máy chủ cục bộ mặc định được cung cấp bởi quy trình 2 tại 6. Điều này có nghĩa là bạn đã kết nối với máy chủ cục bộ thông qua cổng 7.Theo mặc định, shell 3 bắt đầu phiên bằng cách thiết lập kết nối với cơ sở dữ liệu 9. Bạn có thể truy cập cơ sở dữ liệu hiện tại thông qua đối tượng 0:Trong trường hợp này, 0 giữ một tham chiếu đến 9, đây là cơ sở dữ liệu mặc định. Để chuyển cơ sở dữ liệu, hãy phát hành lệnh 3, cung cấp tên cơ sở dữ liệu dưới dạng đối số.Ví dụ: giả sử bạn muốn tạo một trang web để xuất bản nội dung Python và bạn có kế hoạch sử dụng MongoDB để lưu trữ các hướng dẫn và bài viết của bạn. Trong trường hợp đó, bạn có thể chuyển sang cơ sở dữ liệu của trang web với lệnh sau:
Lệnh này chuyển kết nối của bạn sang cơ sở dữ liệu 4. MongoDB không tạo ra tệp cơ sở dữ liệu vật lý trên hệ thống tệp cho đến khi bạn chèn dữ liệu thực vào cơ sở dữ liệu. Vì vậy, trong trường hợp này, 4 won đã hiển thị trong danh sách cơ sở dữ liệu hiện tại của bạn:
Shell 3 cung cấp rất nhiều tính năng và tùy chọn. Nó cho phép bạn truy vấn và thao tác dữ liệu của bạn và cũng để quản lý máy chủ cơ sở dữ liệu.Thay vì sử dụng ngôn ngữ truy vấn được tiêu chuẩn hóa như SQL, shell 3 sử dụng ngôn ngữ lập trình JavaScript và API thân thiện với người dùng. API này cho phép bạn chơi xung quanh với dữ liệu của mình, đó là chủ đề cho phần tiếp theo.Tạo bộ sưu tập và tài liệuCơ sở dữ liệu MongoDB là một thùng chứa vật lý cho các bộ sưu tập tài liệu. Mỗi cơ sở dữ liệu có bộ tệp riêng trên hệ thống tệp. Các tệp này được quản lý bởi máy chủ MongoDB, có thể xử lý một số cơ sở dữ liệu. Trong MongoDB, một bộ sưu tập là một nhóm các tài liệu. Các bộ sưu tập có phần tương tự như các bảng trong một RDBM truyền thống, nhưng không áp đặt một lược đồ cứng nhắc. Về lý thuyết, mỗi tài liệu trong một bộ sưu tập có thể có một cấu trúc hoặc tập hợp các trường hoàn toàn khác nhau.collection is a group of documents. Collections are somewhat analogous to tables in a traditional RDBMS, but without imposing a rigid schema. In theory, each document in a collection can have a completely different structure or set of fields. Trong thực tế, các tài liệu trong một bộ sưu tập thường chia sẻ một cấu trúc tương tự để cho phép truy xuất, chèn và cập nhật thống nhất. Bạn có thể thực thi cấu trúc tài liệu thống nhất bằng cách sử dụng các quy tắc xác thực tài liệu trong quá trình cập nhật và chèn. Cho phép các cấu trúc tài liệu khác nhau là một tính năng chính của các bộ sưu tập MongoDB. Tính năng này cung cấp tính linh hoạt và cho phép thêm các trường mới vào các tài liệu mà không cần sửa đổi lược đồ bảng chính thức. Để tạo một bộ sưu tập bằng cách sử dụng shell 3, bạn cần trỏ 0 vào cơ sở dữ liệu đích của mình và sau đó tạo các bộ sưu tập bằng ký hiệu DOT:dot notation:
Trong ví dụ này, bạn sử dụng ký hiệu dấu chấm để tạo 0 như một bộ sưu tập trong 4, đó là cơ sở dữ liệu hiện tại của bạn. Điều quan trọng cần lưu ý là MongoDB tạo ra cơ sở dữ liệu và bộ sưu tập uể oải. Nói cách khác, họ chỉ được tạo ra về mặt vật lý sau khi bạn chèn tài liệu đầu tiên.lazily. In other words, they’re physically created only after you insert the first document.Khi bạn có cơ sở dữ liệu và bộ sưu tập, bạn có thể bắt đầu chèn tài liệu. Tài liệu là đơn vị lưu trữ trong MongoDB. Trong một RDBMS, điều này sẽ tương đương với một hàng bảng. Tuy nhiên, các tài liệu MongoDB, linh hoạt hơn các hàng vì chúng có thể lưu trữ thông tin phức tạp, chẳng hạn như mảng, tài liệu nhúng và thậm chí các mảng tài liệu. MongoDB lưu trữ các tài liệu theo định dạng gọi là nhị phân JSON (BSON), đây là một đại diện nhị phân của JSON. Các tài liệu MongoDB, bao gồm các cặp trường và giá trị và có cấu trúc sau:Binary JSON (BSON), which is a binary representation of JSON. MongoDB’s documents are composed of field-and-value pairs and have the following structure:
Giá trị của một trường có thể là bất kỳ loại dữ liệu BSON nào, bao gồm các tài liệu, mảng và mảng tài liệu khác. Trong thực tế, bạn sẽ chỉ định các tài liệu của mình bằng định dạng JSON. Khi bạn xây dựng một ứng dụng cơ sở dữ liệu MongoDB, có lẽ quyết định quan trọng nhất của bạn là về cấu trúc của các tài liệu. Nói cách khác, bạn sẽ phải quyết định trường và giá trị tài liệu của bạn sẽ có. Trong trường hợp hướng dẫn cho trang web Python của bạn, các tài liệu của bạn có thể được cấu trúc như thế này:
Một tài liệu về cơ bản là một tập hợp các tên thuộc tính và giá trị của chúng. Các giá trị có thể là các loại dữ liệu đơn giản, chẳng hạn như chuỗi và số, nhưng chúng cũng có thể là các mảng như 2 trong ví dụ trên.Mô hình dữ liệu định hướng tài liệu MongoDB tự nhiên đại diện cho dữ liệu phức tạp như một đối tượng. Điều này cho phép bạn làm việc với các đối tượng dữ liệu một cách toàn diện, mà không cần nhìn vào một số nơi hoặc bảng. Nếu bạn đang sử dụng RDBM truyền thống để lưu trữ các hướng dẫn của mình, thì có lẽ bạn sẽ có một bảng để lưu trữ các hướng dẫn của bạn và một bảng khác để lưu trữ những người đóng góp của bạn. Sau đó, bạn phải thiết lập mối quan hệ giữa cả hai bảng để bạn có thể truy xuất dữ liệu sau này. Làm việc với các bộ sưu tập và tài liệuCho đến nay, bạn biết những điều cơ bản về cách chạy và sử dụng vỏ 3. Bạn cũng biết cách tạo tài liệu của riêng bạn bằng định dạng JSON. Bây giờ, thời gian để học cách chèn tài liệu vào cơ sở dữ liệu MongoDB của bạn.Để chèn tài liệu vào cơ sở dữ liệu bằng cách sử dụng shell 3, trước tiên bạn cần chọn một bộ sưu tập và sau đó gọi 5 trên bộ sưu tập với tài liệu của bạn làm đối số:
Với lệnh đầu tiên, bạn chuyển sang cơ sở dữ liệu bạn muốn sử dụng. Lệnh thứ hai là một cuộc gọi phương thức JavaScript chèn một tài liệu đơn giản vào bộ sưu tập đã chọn, 0. Khi bạn nhấn Enter, bạn sẽ nhận được một tin nhắn trên màn hình của bạn thông báo cho bạn về tài liệu mới được chèn và 7 của nó.Enter, you get a message on your screen that informs you about the newly inserted document and its 7.Giống như cơ sở dữ liệu quan hệ cần một khóa chính để xác định duy nhất mỗi hàng trong bảng, các tài liệu MongoDB cần phải có trường 8 xác định duy nhất tài liệu. MongoDB cho phép bạn nhập 8 tùy chỉnh miễn là bạn đảm bảo tính độc đáo của nó. Tuy nhiên, một thực tiễn được chấp nhận rộng rãi là cho phép MongoDB tự động chèn một 8 cho bạn.Tương tự, bạn có thể thêm một số tài liệu trong một lần sử dụng 1:
Tại đây, cuộc gọi đến 1 lấy một danh sách các hướng dẫn và chèn chúng vào cơ sở dữ liệu. Một lần nữa, đầu ra shell hiển thị thông tin về các tài liệu mới được chèn và các trường 8 tự động của chúng.Shell 3 cũng cung cấp các phương thức để thực hiện các hoạt động đọc, cập nhật và xóa trên cơ sở dữ liệu. Ví dụ: bạn có thể sử dụng 5 để truy xuất các tài liệu trong bộ sưu tập:
Cuộc gọi đầu tiên đến 5 lấy tất cả các tài liệu trong bộ sưu tập 0. Mặt khác, cuộc gọi thứ hai đến 5 lấy những hướng dẫn được tác giả bởi Joanna.Với kiến thức nền tảng này về cách sử dụng MongoDB thông qua vỏ 3 của nó, bạn đã sẵn sàng để bắt đầu sử dụng MongoDB với Python. Một vài phần tiếp theo sẽ hướng dẫn bạn qua các tùy chọn khác nhau để sử dụng cơ sở dữ liệu MongoDB trong các ứng dụng Python của bạn.Sử dụng MongoDB với Python và PymongoBây giờ bạn đã biết MongoDB là gì và cách tạo và quản lý cơ sở dữ liệu bằng cách sử dụng shell 3, bạn có thể bắt đầu sử dụng MongoDB, nhưng lần này với Python. MongoDB cung cấp một tài xế Python chính thức tên là Pymongo.Trong phần này, bạn sẽ trải qua một số ví dụ về việc mà bạn sẽ giúp bạn có cảm giác về cách sử dụng pymongo để tạo các ứng dụng cơ sở dữ liệu của riêng bạn với MongoDB và Python. Mỗi mô -đun trong Pymongo chịu trách nhiệm cho một tập hợp các hoạt động trên cơ sở dữ liệu. Bạn có thể có các mô -đun cho ít nhất các nhiệm vụ sau:
Nói chung, Pymongo cung cấp một bộ công cụ phong phú mà bạn có thể sử dụng để giao tiếp với máy chủ MongoDB. Nó cung cấp chức năng để truy vấn, truy xuất kết quả, ghi và xóa dữ liệu và chạy các lệnh cơ sở dữ liệu. Cài đặt pymongoĐể bắt đầu sử dụng pymongo, trước tiên bạn cần cài đặt nó trong môi trường Python của mình. Bạn có thể sử dụng môi trường ảo hoặc bạn có thể sử dụng cài đặt Python toàn hệ thống của mình, mặc dù tùy chọn đầu tiên được ưu tiên. Pymongo có sẵn trên PYPI, vì vậy cách nhanh nhất để cài đặt nó là với 1. Fun lên thiết bị đầu cuối của bạn và chạy lệnh sau:
Sau một vài lần tải xuống và các bước liên quan khác, lệnh này cài đặt Pymongo trên môi trường Python của bạn. Lưu ý rằng nếu bạn không cung cấp một số phiên bản cụ thể, thì 1 sẽ cài đặt phiên bản có sẵn mới nhất.Khi bạn đã hoàn thành việc cài đặt, bạn có thể bắt đầu phiên tương tác Python và chạy nhập sau: Nếu điều này chạy mà không tăng ngoại lệ trong vỏ Python, thì cài đặt của bạn hoạt động tốt. Nếu không, sau đó cẩn thận thực hiện các bước một lần nữa. Thiết lập một kết nốiĐể thiết lập kết nối với cơ sở dữ liệu, bạn cần tạo một thể hiện 3. Lớp này cung cấp một máy khách cho một phiên bản hoặc máy chủ MongoDB. Mỗi đối tượng máy khách có một nhóm kết nối tích hợp, theo mặc định xử lý tới một trăm kết nối với máy chủ.Quay trở lại phiên tương tác Python của bạn và nhập 3 từ 5. Sau đó, tạo một đối tượng máy khách để giao tiếp với thể hiện MongoDB hiện đang chạy của bạn:>>>
Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:
>>> 0Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:>>> 1Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:Điều này rất tiện dụng khi bạn cần cung cấp 9 và 0 khác với thiết lập mặc định của MongoDB. Bạn cũng có thể sử dụng định dạng URI MongoDB:Tất cả các trường hợp này của $ pip install pymongo==3.11.2 3 cung cấp cùng một thiết lập máy khách để kết nối phiên bản MongoDB hiện tại của bạn. Cái nào bạn nên sử dụng chỉ phụ thuộc vào mức độ rõ ràng của bạn trong mã của mình.Khi bạn đã khởi tạo 3, bạn có thể sử dụng thể hiện của nó để tham khảo kết nối cơ sở dữ liệu cụ thể đó, giống như bạn đã làm với đối tượng 3 Shell 0 trong phần trên.>>> 2
Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:Điều này rất tiện dụng khi bạn cần cung cấp 9 và 0 khác với thiết lập mặc định của MongoDB. Bạn cũng có thể sử dụng định dạng URI MongoDB:>>> 3
Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:Điều này rất tiện dụng khi bạn cần cung cấp 9 và 0 khác với thiết lập mặc định của MongoDB. Bạn cũng có thể sử dụng định dạng URI MongoDB:>>> 4Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:>>> 5Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:>>> 6Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:Điều này rất tiện dụng khi bạn cần cung cấp 9 và 0 khác với thiết lập mặc định của MongoDB. Bạn cũng có thể sử dụng định dạng URI MongoDB:>>> 7Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:Điều này rất tiện dụng khi bạn cần cung cấp 9 và 0 khác với thiết lập mặc định của MongoDB. Bạn cũng có thể sử dụng định dạng URI MongoDB:>>> 8Mã trên thiết lập kết nối với máy chủ mặc định ( 6) và cổng ( 7). 3 lấy một tập hợp các đối số cho phép bạn chỉ định máy chủ tùy chỉnh, cổng và các tham số kết nối khác. Ví dụ: để cung cấp một máy chủ và cổng tùy chỉnh, bạn có thể sử dụng mã sau:Điều này rất tiện dụng khi bạn cần cung cấp 9 và 0 khác với thiết lập mặc định của MongoDB. Bạn cũng có thể sử dụng định dạng URI MongoDB:>>> 9Lưu ý rằng hướng dẫn từ ____ ____108 được đặt dưới khóa 8, đây là mã định danh tài liệu duy nhất mà MongoDB tự động thêm khi bạn chèn tài liệu vào cơ sở dữ liệu của bạn.Pymongo cũng cung cấp các phương pháp để thay thế, cập nhật và xóa tài liệu khỏi cơ sở dữ liệu. Nếu bạn muốn đi sâu hơn vào các tính năng này, thì hãy xem tài liệu cho 01.Đóng kết nốiThiết lập kết nối với cơ sở dữ liệu MongoDB thường là một hoạt động đắt tiền. Nếu bạn có một ứng dụng liên tục truy xuất và điều khiển dữ liệu trong cơ sở dữ liệu MongoDB, thì có lẽ bạn không muốn mở và đóng kết nối mọi lúc vì điều này có thể ảnh hưởng đến hiệu suất ứng dụng của bạn. Trong loại tình huống này, bạn nên giữ kết nối của mình và chỉ đóng nó trước khi rời khỏi ứng dụng để xóa tất cả các tài nguyên có được. Bạn có thể đóng kết nối bằng cách gọi 25 trên ví dụ 3:Một tình huống khác là khi bạn có một ứng dụng thỉnh thoảng sử dụng cơ sở dữ liệu MongoDB. Trong trường hợp này, bạn có thể muốn mở kết nối khi cần và đóng ngay sau khi sử dụng để giải phóng các tài nguyên có được. Một cách tiếp cận nhất quán cho vấn đề này sẽ là sử dụng tuyên bố 27. Có, 3 thực hiện giao thức Trình quản lý bối cảnh:>>> 0Nếu bạn sử dụng câu lệnh 27 để xử lý máy khách MongoDB của mình, thì vào cuối khối mã 27, phương thức máy khách ____ ____131 sẽ được gọi, đồng thời đóng kết nối bằng cách gọi 25.Sử dụng MongoDB với Python và MongoengineMặc dù Pymongo là một trình điều khiển Python tuyệt vời và mạnh mẽ để giao tiếp với MongoDB, nhưng nó có lẽ hơi quá thấp đối với nhiều dự án của bạn. Với Pymongo, bạn sẽ phải viết rất nhiều mã để liên tục chèn, truy xuất, cập nhật và xóa tài liệu. Một thư viện cung cấp sự trừu tượng cao hơn trên đỉnh của pymongo là Mongoengine. MongoEngine là một bản đồ-tài liệu đối tượng (ODM), gần tương đương với một bản đồ liên quan đến đối tượng dựa trên SQL (ORM). Mongoengine cung cấp một bản tóm tắt dựa trên lớp, vì vậy tất cả các mô hình bạn tạo là các lớp. Cài đặt MongoengineCó một số thư viện Python để giúp bạn làm việc với MongoDB. Mongoengine, tuy nhiên, là một bản phổ biến cung cấp một bộ tính năng, tính linh hoạt và hỗ trợ cộng đồng tốt đẹp. Mongoengine có sẵn trên PYPI. Bạn có thể cài đặt nó bằng lệnh 1 sau: 1Khi bạn đã cài đặt MongoEngine vào môi trường Python của mình, bạn đã sẵn sàng để bắt đầu làm việc với cơ sở dữ liệu MongoDB bằng các tính năng hướng đối tượng Python. Bước tiếp theo là kết nối với thể hiện MongoDB đang chạy của bạn. Thiết lập một kết nốiĐể thiết lập kết nối với cơ sở dữ liệu của bạn, bạn cần sử dụng 34. Hàm này có một số đối số. Tuy nhiên, trong hướng dẫn này, bạn sẽ chỉ sử dụng ba trong số đó. Trong phiên tương tác Python của bạn, hãy nhập mã sau:>>> 2Ở đây, trước tiên bạn đặt tên cơ sở dữ liệu 0 thành 36, là tên của cơ sở dữ liệu bạn muốn làm việc. Sau đó, bạn cung cấp một 9 và 0 để kết nối với thể hiện MongoDB hiện tại của bạn. Vì bạn sử dụng mặc định 9 và 0, bạn có thể bỏ qua hai tham số này và chỉ sử dụng 41.Làm việc với các bộ sưu tập và tài liệuĐể tạo tài liệu với MongoEngine, trước tiên bạn cần xác định dữ liệu bạn muốn các tài liệu có. Nói cách khác, bạn cần xác định lược đồ tài liệu. Mongoengine khuyến khích bạn xác định lược đồ tài liệu để giúp bạn giảm lỗi mã hóa và cho phép bạn xác định các phương thức tiện ích hoặc trợ giúp. Tương tự như Orms, ODM như Mongoengine cung cấp một lớp cơ sở hoặc mô hình để bạn xác định lược đồ tài liệu. Trong Orms, lớp đó tương đương với một bảng và các trường hợp của nó tương đương với các hàng. Trong Mongoengine, lớp tương đương với một bộ sưu tập và các trường hợp của nó tương đương với các tài liệu. Để tạo một mô hình, bạn cần phải phân lớp 42 và cung cấp các trường cần thiết làm thuộc tính lớp. Để tiếp tục với ví dụ về blog, ở đây, cách bạn có thể tạo một mô hình cho hướng dẫn của bạn:>>> 3Với mô hình này, bạn nói với MongoEngine rằng bạn mong đợi một tài liệu 43 có 44, 45, một danh sách 46 và 47. Lớp cơ sở, 42, sử dụng thông tin đó cùng với các loại trường để xác thực dữ liệu đầu vào cho bạn.Ví dụ: nếu bạn cố gắng lưu đối tượng 43 mà không cần 44, thì mô hình của bạn sẽ ném một ngoại lệ và cho bạn biết. Bạn có thể thực hiện điều này hơn nữa và thêm nhiều hạn chế hơn, chẳng hạn như độ dài của 44, v.v.Có một vài tham số chung mà bạn có thể sử dụng để xác thực các trường. Dưới đây là một số tham số được sử dụng phổ biến hơn:
Mỗi loại trường cụ thể cũng có bộ tham số riêng. Bạn có thể kiểm tra tài liệu để biết hướng dẫn đầy đủ cho các loại trường có sẵn. Để lưu tài liệu vào cơ sở dữ liệu của bạn, bạn cần gọi 56 trên đối tượng tài liệu. Nếu tài liệu đã tồn tại, thì tất cả các thay đổi sẽ được áp dụng cho tài liệu hiện có. Nếu tài liệu không tồn tại, thì nó sẽ được tạo.Ở đây, một ví dụ về việc tạo và lưu một hướng dẫn vào cơ sở dữ liệu hướng dẫn mẫu của bạn: >>> 4Theo mặc định, 56 chèn tài liệu mới vào một bộ sưu tập được đặt tên theo lớp mô hình, 43, ngoại trừ sử dụng các chữ cái viết thường. Trong trường hợp này, tên thu thập là 0, phù hợp với bộ sưu tập mà bạn đã sử dụng để lưu hướng dẫn của bạn.Pymongo thực hiện xác thực dữ liệu khi bạn gọi 56. Điều này có nghĩa là nó kiểm tra dữ liệu đầu vào so với lược đồ bạn đã khai báo trong lớp mô hình 43. Nếu dữ liệu đầu vào vi phạm lược đồ hoặc bất kỳ ràng buộc nào của nó, thì bạn sẽ nhận được một ngoại lệ và dữ liệu được lưu vào cơ sở dữ liệu.data validation when you call 56. This means that it checks the input data against the schema you declared in the 43 model class. If the input data violates the schema or any of its constraints, then you get an
exception, and the data isn’t saved into the database.Ví dụ: ở đây, những gì xảy ra nếu bạn cố gắng lưu hướng dẫn mà không cần cung cấp 44:>>> 5Theo mặc định, 56 chèn tài liệu mới vào một bộ sưu tập được đặt tên theo lớp mô hình, 43, ngoại trừ sử dụng các chữ cái viết thường. Trong trường hợp này, tên thu thập là 0, phù hợp với bộ sưu tập mà bạn đã sử dụng để lưu hướng dẫn của bạn.Pymongo thực hiện xác thực dữ liệu khi bạn gọi 56. Điều này có nghĩa là nó kiểm tra dữ liệu đầu vào so với lược đồ bạn đã khai báo trong lớp mô hình 43. Nếu dữ liệu đầu vào vi phạm lược đồ hoặc bất kỳ ràng buộc nào của nó, thì bạn sẽ nhận được một ngoại lệ và dữ liệu được lưu vào cơ sở dữ liệu.>>> 6Theo mặc định, 56 chèn tài liệu mới vào một bộ sưu tập được đặt tên theo lớp mô hình, 43, ngoại trừ sử dụng các chữ cái viết thường. Trong trường hợp này, tên thu thập là 0, phù hợp với bộ sưu tập mà bạn đã sử dụng để lưu hướng dẫn của bạn.>>> 7Theo mặc định, 56 chèn tài liệu mới vào một bộ sưu tập được đặt tên theo lớp mô hình, 43, ngoại trừ sử dụng các chữ cái viết thường. Trong trường hợp này, tên thu thập là 0, phù hợp với bộ sưu tập mà bạn đã sử dụng để lưu hướng dẫn của bạn.Pymongo thực hiện xác thực dữ liệu khi bạn gọi > show dbs admin 0.000GB config 0.000GB local 0.000GB > 56. Điều này có nghĩa là nó kiểm tra dữ liệu đầu vào so với lược đồ bạn đã khai báo trong lớp mô hình > show dbs admin 0.000GB config 0.000GB local 0.000GB > 43. Nếu dữ liệu đầu vào vi phạm lược đồ hoặc bất kỳ ràng buộc nào của nó, thì bạn sẽ nhận được một ngoại lệ và dữ liệu được lưu vào cơ sở dữ liệu.Ví dụ: ở đây, những gì xảy ra nếu bạn cố gắng lưu hướng dẫn mà không cần cung cấp 44:Trong ví dụ này, lưu ý đầu tiên rằng bạn cũng có thể xây dựng một đối tượng 43 bằng cách gán các giá trị cho các thuộc tính của nó. Thứ hai, vì bạn không cung cấp 44 cho hướng dẫn mới, 56 tăng 66 cho bạn biết rằng trường 44 là bắt buộc. Có xác thực dữ liệu tự động là một tính năng tuyệt vời sẽ giúp bạn tiết kiệm một số cơn đau đầu.Mỗi lớp con
Trong hướng dẫn này, bạn đã học được: |