TINYDB USEFUL RESOURCES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Truy vấn matches() trong TinyDB

Truy vấn matches() trong TinyDB là một công cụ mạnh mẽ, giúp người dùng tìm kiếm và lọc dữ liệu một cách linh hoạt dựa trên biểu thức chính quy. Với khả năng so khớp dữ liệu theo điều kiện phức tạp, truy vấn này giúp việc truy xuất thông tin từ cơ sở dữ liệu JSON trở nên chính xác và hiệu quả hơn, đặc biệt trong các tình huống cần xử lý dữ liệu lớn và đa dạng.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Truy vấn matches() trong TinyDB giúp kiểm tra dữ liệu từ tệp JSON theo một điều kiện nhất định (thường ở dạng biểu thức chính quy) và trả về kết quả tương ứng. Nếu điều kiện không khớp với dữ liệu trong tệp, truy vấn sẽ trả về giá trị rỗng.

Cú pháp của truy vấn matches() trong TinyDB

db.search(Query().field.matches(biểu thức chính quy))

Trong đó, field đại diện cho phần dữ liệu mà chúng ta muốn truy xuất. Query() là đối tượng được tạo ra từ bảng JSON của chúng ta (ở đây là bảng student).

Chúng ta sẽ hiểu cách hoạt động của matches() thông qua một số ví dụ. Cơ sở dữ liệu học sinh dưới đây sẽ được sử dụng giống như các chương trước.

Bài viết này được đăng tại [free tuts .net]

Tìm kiếm toàn bộ mục bằng matches() trong TinyDB

from tinydb import Query
student = Query()
db.search(student.st_name.matches('[aZ]*'))

Truy vấn này sẽ tìm tất cả các hàng có tên học sinh phù hợp với biểu thức chính quy [aZ]*, kết quả như sau:

[
   {
      "roll_number": 1,
      "st_name": "elen",
      "mark": 250,
      "subject": "TinyDB",
      "address": "delhi"
   },
   {
      "roll_number": 2,
      "st_name": "Ram",
      "mark": [250, 280],
      "subject": ["TinyDB", "MySQL"],
      "address": "delhi"
   },
   {
      "roll_number": 3,
      "st_name": "kevin",
      "mark": [180, 200],
      "subject": ["oracle", "sql"],
      "address": "keral"
   },
   {
      "roll_number": 4,
      "st_name": "lakan",
      "mark": 200,
      "subject": "MySQL",
      "address": "mumbai"
   },
   {
      "roll_number": 5,
      "st_name": "karan",
      "mark": 275,
      "subject": "TinyDB",
      "address": "benglore"
   }
]

Tìm kiếm phân biệt chữ hoa chữ thường

from tinydb import Query
import re
student = Query()
db.search(student.st_name.matches('ram', flags=re.IGNORECASE))

Truy vấn này sẽ tìm những hàng có tên học sinh khớp với chuỗi "ram", bất kể chữ hoa hay chữ thường nhờ vào cờ IGNORECASE:

[{
   'roll_number': 2,
   'st_name': 'Ram',
   'mark': [250, 280],
   'subject': ['TinyDB', 'MySQL'],
   'address': 'delhi'
}]

Tìm kiếm một mục cụ thể

student = Query()
db.search(student.address.matches('keral'))

Truy vấn này sẽ trả về hàng có địa chỉ khớp với chuỗi "keral":

[{
   'roll_number': 3,
   'st_name': 'kevin',
   'mark': [180, 200],
   'subject': ['oracle', 'sql'],
   'address': 'keral'
}]

Không tìm thấy mục khớp

student = Query()
db.search(student.address.matches('Ratlam'))

Vì không có hàng nào có trường "address" khớp với chuỗi "Ratlam", truy vấn sẽ trả về giá trị rỗng:

[]

Kết bài

Truy vấn matches() trong TinyDB không chỉ cung cấp sự linh hoạt trong việc tìm kiếm dựa trên các biểu thức chính quy, mà còn giúp tối ưu hóa quá trình truy xuất dữ liệu theo nhiều điều kiện khác nhau. Điều này làm cho TinyDB trở thành một công cụ hữu ích khi làm việc với các cơ sở dữ liệu JSON phức tạp, hỗ trợ người dùng dễ dàng quản lý và tìm kiếm thông tin một cách hiệu quả và chính xác.

Cùng chuyên mục:

Truy vấn any() trong TinyDB

Truy vấn any() trong TinyDB

Truy vấn test() trong TinyDB

Truy vấn test() trong TinyDB

Truy vấn exists() nâng cao trong TinyDB

Truy vấn exists() nâng cao trong TinyDB

Câu lệnh

Câu lệnh "where" trong TinyDB

Tìm kiếm dữ liệu trong  TinyDB

Tìm kiếm dữ liệu trong TinyDB

Truy vấn dữ liệu TinyDB

Truy vấn dữ liệu TinyDB

Xóa dữ liệu trong TinyDB

Xóa dữ liệu trong TinyDB

Cập nhật dữ liệu trong TinyDB

Cập nhật dữ liệu trong TinyDB

Truy xuất dữ liệu trong TinyDB

Truy xuất dữ liệu trong TinyDB

Chèn dữ liệu vào TinyDB

Chèn dữ liệu vào TinyDB

Hướng dẫn cài đặt và sử dụng TinyDB

Hướng dẫn cài đặt và sử dụng TinyDB

TinyDB là gì? Tìm hiểu về TinyDB

TinyDB là gì? Tìm hiểu về TinyDB

Top