MongoDB là một hệ thống quản lý cơ sở dữ liệu phi quan hệ rất phổ biến và mạnh mẽ. Trong bài viết này, chúng ta sẽ tìm hiểu về truy vấn dữ liệu trong MongoDB và các phương thức find(), select và where.
Tìm hiểu về phương thức find() và findOne()
Trong MongoDB, không có tập ngôn ngữ truy vấn cơ sở dữ liệu như SQL. Thay vào đó, chúng ta sử dụng phương thức find() để truy vấn dữ liệu trong MongoDB. Phương thức này có thể nhận vào các tham số để xác định các điều kiện truy vấn.
Ví dụ, để lấy ra tất cả các tài liệu trong một bộ sưu tập, chúng ta sử dụng db.COLLECTION_NAME.find()
. Nếu bạn chỉ muốn lấy một tài liệu duy nhất, bạn có thể sử dụng phương thức findOne()
.
Định dạng dữ liệu kết quả với pretty()
Bạn có thể định dạng kết quả truy vấn dưới dạng format json bằng cách sử dụng lệnh pretty()
sau phương thức find()
. Việc này giúp dễ đọc và hiểu hơn.
Truy vấn theo điều kiện với WHERE trong MongoDB
Dữ liệu trong MongoDB không phải là dữ liệu quan hệ, điều này làm cho các điều kiện truy vấn trở nên đơn giản hơn nhiều.
Dưới đây là một số phương thức truy vấn dữ liệu trong MongoDB:
- So sánh bằng:
{
: } - So sánh like:
{
: } - So sánh nhỏ hơn:
{
:{$lt: }} - So sánh nhỏ hơn hoặc bằng:
{
:{$lte: }} - So sánh lớn hơn:
{
:{$gt: }} - So sánh lớn hơn hoặc bằng:
{
:{$gte: }} - So sánh khác:
{
:{$ne: }}
Ví dụ, để tìm tất cả các tài liệu trong một bộ sưu tập có tên bắt đầu bằng 'ka', bạn có thể sử dụng db.COLLECTION_NAME.find({"name":/^ka/})
.
Sử dụng kết hợp AND và OR trong điều kiện truy vấn
Để truy vấn theo nhiều điều kiện cùng lúc, chúng ta có thể sử dụng các toán tử logic AND và OR.
Ví dụ, để tìm các tài liệu có tên là 'kai' và địa chỉ chứa 'na', bạn có thể sử dụng: db.customer.find({$and: [{"name": "kai"}, {"address":/na/}]})
.
Lưu ý: Khi sử dụng AND hoặc OR, nếu bạn muốn kiểm tra nhiều điều kiện trên cùng một trường, hãy gộp chúng thành một mệnh đề.
Sử dụng phương thức $in
Phương thức $in được sử dụng khi bạn muốn so sánh một trường với một mảng các giá trị. Ví dụ, để tìm các khách hàng có địa chỉ là 'vietnam' hoặc 'japan', bạn có thể sử dụng db.customer.find({'address':{$in: ['vietnam', 'japan']}})
.
Như vậy, chúng ta đã tìm hiểu về cách truy vấn dữ liệu trong MongoDB sử dụng các phương thức find(), select và where. MongoDB cung cấp nhiều tính năng mạnh mẽ để bạn có thể truy vấn và quản lý dữ liệu một cách dễ dàng và linh hoạt.
Ảnh minh họa:
Vui lòng tham khảo: https://docs.mongodb.com/manual/mongo/