Toán tử "Logical AND" trong TinyDB
Toán tử "Logical AND" kết hợp nhiều điều kiện và trả về kết quả True nếu tất cả các điều kiện đều thỏa mãn. Trong TinyDB, phép AND logic hoạt động trên hai truy vấn của cơ sở dữ liệu. Nếu cả hai truy vấn đều đúng, TinyDB sẽ trả về dữ liệu cần thiết. Ngược lại, nếu có bất kỳ truy vấn nào sai, nó sẽ trả về kết quả rỗng.
Cú pháp của phép AND logic trong TinyDB
db.search((Query().(truy vấn 1) & (Query().(truy vấn 2))
Ở đây, field đại diện cho phần dữ liệu mà chúng ta muốn truy cập. Query() là đối tượng được tạo ra từ bảng JSON của chúng ta có tên là student. TinyDB sẽ tìm và trả về dữ liệu nếu cả hai điều kiện đều được đáp ứng, ngược lại nó sẽ trả về kết quả trống.
Ví dụ
Chúng ta sẽ sử dụng cùng cơ sở dữ liệu student mà chúng ta đã sử dụng trong các chương trước.
Ví dụ 1
Hãy xem TinyDB sẽ trả về gì khi áp dụng phép AND logic lên hai trường "st_name=lakhan" và "subject=MySQL" −
Bài viết này được đăng tại [free tuts .net]
from tinydb import TinyDB, Query db = TinyDB('student.json') db.search ((Query().st_name == 'lakhan') & (Query().subject == 'MySQL'))
Truy vấn này sẽ chỉ trả về những dòng có tên sinh viên là "lakhan" và môn học là "MySQL".
[{ 'roll_number': 4, 'st_name': 'lakhan', 'mark': 200, 'subject': 'MySQL', 'address': 'mumbai' }]
Ví dụ 2
from tinydb import TinyDB, Query student = Query() db = TinyDB('student.json') db.search((student.subject.search('M')) & (student.roll_number < 5))
Trong ví dụ này, chúng ta sẽ áp dụng phép AND logic lên các trường "subject" và "roll_number" −
[{ 'roll_number': 4, 'st_name': 'lakhan', 'mark': 200, 'subject': 'MySQL', 'address': 'mumbai' }]