Python NoQuery JSON
Khi ngày càng có nhiều dữ liệu có sẵn dưới dạng phi cấu trúc hoặc bán cấu trúc, nhu cầu quản lý chúng thông qua cơ sở dữ liệu NoSql tăng lên. Python cũng có thể tương tác với cơ sở dữ liệu NoSQL theo cách tương tự như tương tác với cơ sở dữ liệu Quan hệ. Trong chương này, chúng ta sẽ sử dụng python để tương tác với MongoDB dưới dạng cơ sở dữ liệu NoSQL. Trong trường hợp bạn chưa quen với MongoDB, bạn có thể tìm hiểu nó trong hướng dẫn của chúng tôi tại đây Show
Để kết nối với MongoDB, python sử dụng thư viện được gọi là pymongo. Bạn có thể thêm thư viện này vào môi trường python của mình, sử dụng lệnh bên dưới từ môi trường Anaconda conda install pymongo Thư viện này cho phép python kết nối với MOngoDB bằng ứng dụng khách db. Sau khi kết nối, chúng tôi chọn tên db sẽ được sử dụng cho các hoạt động khác nhau Chèn dữ liệuĐể chèn dữ liệu vào MongoDB chúng ta sử dụng phương thức insert() có sẵn trong môi trường cơ sở dữ liệu. Trước tiên, chúng tôi kết nối với db bằng mã python được hiển thị bên dưới và sau đó chúng tôi cung cấp chi tiết tài liệu dưới dạng một loạt các cặp khóa-giá trị # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult) Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')} Cập nhật dữ liệuCập nhật dữ liệu MongoDB hiện có tương tự như chèn. Chúng tôi sử dụng phương thức update() có nguồn gốc từ mongoDB. Trong đoạn mã dưới đây, chúng tôi đang thay thế bản ghi hiện có bằng các cặp khóa-giá trị mới. Xin lưu ý cách chúng tôi đang sử dụng tiêu chí điều kiện để quyết định bản ghi nào cần cập nhật # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to db db=client.test employee = db.employee # Use the condition to choose the record # and use the update method db.employee.update_one( {"Age":'42'}, { "$set": { "Name":"Srinidhi", "Age":'35', "Address":"New Omsk, WC" } } ) Queryresult = employee.find_one({'Age':'35'}) pprint(Queryresult) Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau {u'Address': u'New Omsk, WC', u'Age': u'35', u'Name': u'Srinidhi', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')} Xóa dữ liệuViệc xóa một bản ghi cũng rất dễ dàng khi chúng ta sử dụng phương thức xóa. Ở đây chúng tôi cũng đề cập đến điều kiện được sử dụng để chọn bản ghi cần xóa Trong khi làm việc với các dự án cá nhân, bạn thường cần lưu trữ một số dữ liệu. Bạn có thể sử dụng cơ sở dữ liệu SQL hoặc NoSQL với máy chủ, nhưng điều đó sẽ yêu cầu bạn thực hiện một chút thiết lập Trong bài viết này, chúng ta sẽ tìm hiểu về TinyDB và cách sử dụng nó để lưu trữ dữ liệu của chúng ta ở định dạng JSON TinyDB là gì?TinyDB là một cơ sở dữ liệu hướng tài liệu được viết bằng Python thuần túy không có phụ thuộc bên ngoài Nó được thiết kế để sử dụng dễ dàng và thú vị bằng cách cung cấp API đơn giản và rõ ràng. Nó khá đơn giản để tìm hiểu và thiết lập, ngay cả đối với người mới bắt đầu Khi nào không sử dụng TinyDBNhư đã đề cập trong chính tài liệu TinyDB, không phải lúc nào nó cũng là lựa chọn phù hợp cho các dự án của bạn. Nếu bạn cần các tính năng nâng cao như
TinyDB là cơ sở dữ liệu không phù hợp với bạn. Trong những trường hợp đó, hãy cân nhắc sử dụng cơ sở dữ liệu như SQLite, Buzhug, CodernityDB hoặc MongoDB Cách cài đặt TinyDBCài đặt TinyDB cực kỳ dễ dàng. Chỉ cần chạy lệnh này trong thiết bị đầu cuối của bạn
Cách sử dụng TinyDBHãy xem xét một ví dụ về Ứng dụng Todo nơi chúng ta chỉ cần thực hiện các thao tác CRUD. Bây giờ chúng tôi đã cài đặt TinyDB, hãy xem cách chúng tôi có thể lưu trữ dữ liệu của mình bằng TinyDB. TinyDB làm mọi thứ bằng JSON Điều đầu tiên chúng ta sẽ làm là nhập các lớp cần thiết từ mô-đun 9. Vì vậy, hãy kích hoạt trình bao Python của bạn để viết mã
Bây giờ chúng tôi đã sẵn sàng để viết mã ________số 8Chúng ta đã tạo một thể hiện của lớp TinyDB và chuyển tên tệp cho nó. Điều này sẽ tạo một tệp JSON 0 nơi dữ liệu của chúng tôi sẽ được lưu trữCách Chèn Dữ liệu vào TinyDBVì chúng ta đang xử lý JSON, dữ liệu được thêm vào sẽ không có gì khác ngoài Từ điển Python. Vì vậy, hãy xem cách chúng ta có thể chèn một mục # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult)0 Trước hết, chúng tôi đã tạo một từ điển mới có tên là 1 với 2 và 3 được đặt lần lượt là 4 và 5. Sau đó, chúng tôi đã sử dụng phương thức 6 trong lớp TinyDB để chèn dữ liệu vào cơ sở dữ liệu. Phương thức 6 trả về 8 của đối tượng mới được tạoỞ giai đoạn này, một tệp JSON mới có tên là 9 sẽ được tạo và sau khi dữ liệu được chèn vào. Nó sẽ trông giống thế này{u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}0 Bạn để ý kỹ hơn thì # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult)00 là tên của bảng (đặt mặc định nhưng có thể thay đổi), # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult)01 là id của đối tượng mới tạo, và giá trị của nó là dữ liệu ta vừa chèn vào. Vì vậy, về cơ bản nó chỉ là một từ điển lồng nhau Chúng tôi cũng có thể chèn nhiều mục cùng một lúc như thế này {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}3 Trong trường hợp này, chúng tôi đã tạo một danh sách từ điển có tên là ________ 102 và sử dụng phương pháp ________ 103 để chèn các mục. Phương thức này cũng trả về danh sách 8 đối tượng được chènTệp 9 bây giờ trông như thế này{u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}8 Cách lấy dữ liệu từ TinyDBCó một số cách để truy xuất dữ liệu từ cơ sở dữ liệu của bạn. Nhưng trước tiên bạn sẽ cần tạo một thể hiện của lớp Truy vấn. Vì vậy, chúng ta hãy làm điều đó {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}9 Bạn có thể sử dụng phương pháp # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult)06 để lấy dữ liệu # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to db db=client.test employee = db.employee # Use the condition to choose the record # and use the update method db.employee.update_one( {"Age":'42'}, { "$set": { "Name":"Srinidhi", "Age":'35', "Address":"New Omsk, WC" } } ) Queryresult = employee.find_one({'Age':'35'}) pprint(Queryresult)1 Phương thức # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult)07 trả về danh sách các mục phù hợp với truy vấn. Nếu không có mục nào ở đó, nó sẽ trả về một danh sách trống Chúng tôi cũng có thể sử dụng phương pháp # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult)08 để lấy một mục # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to db db=client.test employee = db.employee # Use the condition to choose the record # and use the update method db.employee.update_one( {"Age":'42'}, { "$set": { "Name":"Srinidhi", "Age":'35', "Address":"New Omsk, WC" } } ) Queryresult = employee.find_one({'Age':'35'}) pprint(Queryresult)4 Phương thức # Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult)08 chỉ trả về một tài liệu phù hợp. Nếu không có tài liệu nào phù hợp, nó sẽ trả về {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}00 Để kiểm tra xem một tài liệu có tồn tại trong cơ sở dữ liệu hay không, chúng tôi sử dụng phương thức {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}01 0Chúng tôi cũng có thể nhận được số lượng tài liệu phù hợp với truy vấn của mình bằng phương pháp {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}02 1Để lấy tổng số tài liệu được lưu trữ trong cơ sở dữ liệu, chúng tôi sử dụng phương pháp {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}03 2Để lấy tất cả các tài liệu trong cơ sở dữ liệu, chúng ta có thể sử dụng phương pháp {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}04 3Cách cập nhật dữ liệu trong TinyDBPhương thức {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}05 lấy các trường mà các tài liệu phù hợp sẽ có hoặc một phương thức sẽ cập nhật các tài liệu. Nó cũng có thể có một điều kiện để truy vấn một đối số tùy chọn Để cập nhật một tài liệu phù hợp với một truy vấn, chúng tôi có thể làm điều này 4Ở đây, chúng tôi đã cập nhật tên của tài liệu thành {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}06 (tên của nó là 4 ở trên)Đôi khi, chúng ta cần cập nhật tất cả các tài liệu. Trong trường hợp đó, chúng tôi không viết đối số truy vấn 5Chúng tôi đã cập nhật số lượng của tất cả các tài liệu thành {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}08 Cách xóa dữ liệu trong TinyDBĐể xóa tài liệu khỏi cơ sở dữ liệu, chúng tôi sử dụng phương thức {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}09. Phương thức này có một điều kiện tùy chọn và danh sách id tài liệu tùy chọn. Nếu điều kiện phù hợp, tài liệu sẽ bị xóa 6Để xóa tài liệu bằng id tài liệu, chúng ta có thể viết mã này 7Để xóa mọi thứ khỏi cơ sở dữ liệu, chúng ta có thể sử dụng phương pháp {u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}30 8kết thúcTrong bài viết này, chúng ta đã nói về TinyDB và cách thực hiện các thao tác CRUD trên cơ sở dữ liệu Đây chỉ là một hướng dẫn cơ bản. Để tìm hiểu thêm về cách sử dụng nâng cao của TinyDB, bạn có thể xem qua tài liệu chính thức của nó Cảm ơn vì đã đọc Đăng ký nhận bản tin của tôiQUẢ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 ứng dụng tại Thoughtworks Ấn Độ 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 JSON có phải là loại cơ sở dữ liệu NoSQL không?Cơ sở dữ liệu JSON là cơ sở dữ liệu NoSQL kiểu tài liệu , lý tưởng để lưu trữ dữ liệu bán cấu trúc. Nó linh hoạt hơn nhiều so với định dạng hàng-cột, cố định và tốn kém khi thực hiện các thay đổi lược đồ nhỏ.
Làm cách nào để sử dụng NoQuery trong Python?Để kết nối với MongoDB, python sử dụng thư viện có tên là pymongo . Bạn có thể thêm thư viện này vào môi trường python của mình, sử dụng lệnh bên dưới từ môi trường Anaconda. Thư viện này cho phép python kết nối với MOngoDB bằng ứng dụng khách db. Sau khi kết nối, chúng tôi chọn tên db sẽ được sử dụng cho các hoạt động khác nhau.
TinyDB có phải là cơ sở dữ liệu NoSQL không?Mô tả. Tinyrecord là thư viện triển khai hỗ trợ giao dịch nguyên tử thử nghiệm cho cơ sở dữ liệu TinyDB NoSQL . Nó sử dụng kiến trúc ghi trước sau đó thực thi, cho phép chúng tôi giảm thiểu thời gian chúng tôi ở trong khóa luồng.
Làm cách nào để chèn JSON vào MongoDB Python?Chèn dữ liệu từ JSON vào MongoDB Python . Bước 1. Tạo bộ sưu tập bằng PyMongo Bước 2. Chèn dữ liệu từ JSON vào MongoDB Python Bước 3. Lọc dữ liệu Bước 4. Lưu dữ liệu từ MongoDB sang JSON Python |