Hướng dẫn sử dụng PHP truy vấn dữ liệu trong MongoDB

Sử dụng PHP truy vấn dữ liệu trong MongoDB

Bài viết trước mình đã hướng dẫn các bạn sử dụng ngôn ngữ lập trình PHP để thực hiện kết nối và thực hiện các thao tác thêm, sửa, xóa với cơ sở dữ liệu của mình rồi.  Ở bài viết này mình sẽ hướng dẫn các bạn thực hiện các thao tác truy vấn, khai thác dữ liệu trong MongoDB để hoàn thiện series bài viết bước đầu tiếp cận với MongoDB này của mình, trước khi chúng ta đi tìm hiểu chuyên sâu để giải quyết các bài toán thực tế phức tạp hơn.

Sử dụng PHP truy vấn dữ liệu trong MongoDB

Sử dụng PHP truy vấn dữ liệu trong MongoDB

Xem thêm: Lập trình kết nối PHP, thao tác dữ liệu với MongoDB

1. Các phương thức để truy vấn dữ liệu

Trong PHP Driver của MongoDB cung cấp cho chúng ta 3 phương thức để thực hiện thao tác truy vấn dữ liệu đó là: find, findOne, findAndModify. Mỗi phương thức này có những tác dụng riêng của nó nhưng đều hoạt động dựa trên lớp MongoCollection, các bạn cần lưu ý việc này, vì mỗi khi sử dụng các phương thức trên chúng ta đều phải khởi tạo lớp MongoCollection trước mới có thể sử dụng được:

  • find: Thực hiện thao tác tìm kiếm theo điều kiện và trả ra một MongoCursor là một tập hợp kết quả để bạn khai thác dữ liệu, thường dùng trong các trường hợp lấy danh sách dữ liệu thành viên, bài viết ,..
  • findOne: Thực hiện thao tác tìm kiếm và trả về duy nhất 1 document, thường dùng để giải quyết các bài toán như truy vấn thông tin về một thành viên, bài viết, ….
  • findAndModify: Thực hiện tìm kiếm, cập nhật document và trả về chính nó (ở bài viết này mình sẽ chưa đi sâu về phương thức này)

Tùy vào trường hợp, bài toán cụ thể mà bạn có thể sử dụng phương thức tiếp cận phù hợp. Mình sẽ ví dụ cụ thể hơn để các bạn dễ hiểu.

2. Sử dụng findOne tìm kiếm một document

 Với đoạn code trên, bạn có thể thấy, dữ liệu document được gán vào biến $userData là một array, bạn có thể sử dụng mảng này để xuất các thông tin tương ứng một cách dễ dàng

3. Sử dụng find để lấy một danh sách document

Như các bạn có thể thấy, với đoạn code trên, chúng ta sẽ lấy ra được một danh sách các tài khoản, thành viên thuộc nhóm “1”. Dữ liệu trả về khi sử dụng phương thức find sẽ là một cursor (con trỏ), từ con trỏ ta có thể sử dụng vòng lặp lấy ra một document array giống như findOne một cách dễ dàng.

Lời kết

Yêu cầu truy vấn thông tin, dữ liệu trong các bài toán thực thế là thiên biến vạn hóa, ở bài viết này mình chỉ hướng dẫn các bạn thực hiện khai thác thông tin ở mức cơ bản nhất đối với người mới bắt đầu tiếp cận với MongoDB. Những bài viết sau chúng ta sẽ cùng đi tìm hiểu sâu hơn về các bài toán thực tế phức tạp hơn. Chắc rằng, với bài viết này là các bạn cũng để biết cách giải quyết các bài toán thông thường rồi phải không? 🙂