Python MongoDB Tìm kiếm
- Trang trước Chèn vào MongoDB
- Trang tiếp theo Truy vấn MongoDB
Trong MongoDB, chúng ta sử dụng phương pháp find và findOne để tìm dữ liệu trong bộ sưu tập.
Người ta sử dụng câu lệnh SELECT để tìm dữ liệu từ bảng trong cơ sở dữ liệu MySQL.
Tìm một phần tử
Để chọn dữ liệu từ bộ sưu tập trong MongoDB, chúng ta có thể sử dụng find_one()
Phương pháp.
find_one()
Phương pháp trả về phần tử đầu tiên khớp trong lựa chọn.
Mô hình
Tìm tài liệu đầu tiên trong bộ sưu tập "customers":
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
Tìm tất cả
Để chọn dữ liệu từ bảng trong MongoDB, chúng ta có thể sử dụng find()
Phương pháp.
find()
Phương pháp trả về tất cả các phần tử khớp trong lựa chọn.
find()
Tham số đầu tiên của phương pháp là đối tượng truy vấn. Trong ví dụ này, chúng ta sử dụng đối tượng truy vấn trống, nó sẽ chọn tất cả các tài liệu trong bộ sưu tập.
find()
Phương pháp không có tham số cung cấp kết quả tương tự như SELECT * trong MySQL.
Mô hình
Trả về và in tất cả các tài liệu trong bộ sưu tập "customers":
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): print(x)
Chỉ trả về một số trường
find()
Tham số thứ hai của phương pháp là đối tượng mô tả các trường chứa trong kết quả.
Tham số này là tùy chọn. Nếu bỏ qua, tất cả các trường sẽ được bao gồm trong kết quả.
Mô hình
Chỉ trả về tên và địa chỉ, không phải là _ids:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }): print(x)
Không được chỉ định đồng thời giá trị 0 và 1 trong cùng một đối tượng (trừ khi một trong các trường là trường _id). Nếu chỉ định giá trị 0 cho trường, tất cả các trường khác sẽ có giá trị 1, ngược lại cũng vậy:
Mô hình
Ví dụ này loại bỏ "address" từ kết quả:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "address": 0 }): print(x)
Mô hình
Nếu đồng thời chỉ định giá trị 0 và 1 trong cùng một đối tượng, sẽ xảy ra lỗi (trừ khi một trong các trường là trường _id):
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "name": 1, "address": 0 }): print(x)
- Trang trước Chèn vào MongoDB
- Trang tiếp theo Truy vấn MongoDB