Tham số đầu tiên của phương thức find[]
là một đối tượng truy vấn. Trong ví dụ này, chúng tôi sử dụng một đối tượng truy vấn trống để chọn tất cả các tài liệu trong bộ sưu tập
Không có tham số nào trong phương thức find[] cho bạn kết quả giống như SELECT * trong MySQL
Ví dụ
Trả lại tất cả tài liệu trong bộ sưu tập "khách hàng" và in từng tài liệu
pymongo nhập khẩu
myclient = pymongo. MongoClient["mongodb. //máy chủ cục bộ. 27017/"]
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
cho x trong mycol. tìm thấy[].
print[x]
Chỉ trả về một số trường
Tham số thứ hai của phương thức find[]
là một đối tượng mô tả những trường nào sẽ được đưa vào kết quả
Tham số này là tùy chọn và nếu bỏ qua, tất cả các trường sẽ được đưa vào kết quả
Ví dụ
Chỉ trả lại tên và địa chỉ, không phải _ids
pymongo nhập khẩu
myclient = pymongo. MongoClient["mongodb. //máy chủ cục bộ. 27017/"]
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
cho x trong mycol. tìm ID". 0, "tên". 1, "địa chỉ". 1 }].
print[x]
Bạn không được phép chỉ định cả hai 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 bạn chỉ định một trường có giá trị 0, tất cả các trường khác sẽ nhận giá trị 1 và ngược lại
Ví dụ
Ví dụ này sẽ loại trừ "địa chỉ" khỏi kết quả
pymongo nhập khẩu
myclient = pymongo. MongoClient["mongodb. //máy chủ cục bộ. 27017/"]
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
cho x trong mycol. tìm địa chỉ". 0 }].
print[x]
Ví dụ
Bạn gặp lỗi nếu chỉ định cả hai giá trị 0 và 1 trong cùng một đối tượng [ngoại trừ nếu một trong các trường là trường _id]
MongoDB, cơ sở dữ liệu định hướng tài liệu mã nguồn mở phổ biến nhất là một loại cơ sở dữ liệu NoSQL. Cơ sở dữ liệu NoSQL là viết tắt của Cơ sở dữ liệu truy vấn phi cấu trúc. MongoDB lưu trữ dữ liệu dưới dạng cấu trúc [trường. cặp giá trị] thay vì dạng bảng. Nó lưu trữ dữ liệu ở định dạng BSON [JSON nhị phân] giống như định dạng JSON.
Một ví dụ đơn giản về bộ sưu tập cơ sở dữ liệu MongoDB
{
"_Tôi". ObjectId[“6009585d35cce6b7b8f087f1”],
"Tiêu đề". "Môn Toán",
"tác giả". “Aditya”,
"cấp độ". "căn bản",
"chiều dài". 230,
"ví dụ". 11
}
Truy vấn MongoDB là gì?
MongoDB Query là một cách để lấy dữ liệu từ cơ sở dữ liệu MongoDB. Truy vấn MongoDB cung cấp sự đơn giản trong quá trình tìm nạp dữ liệu từ cơ sở dữ liệu, nó tương tự như truy vấn SQL trong ngôn ngữ Cơ sở dữ liệu SQL. Trong khi thực hiện thao tác truy vấn, người ta cũng có thể sử dụng tiêu chí hoặc điều kiện có thể được sử dụng để truy xuất dữ liệu cụ thể từ cơ sở dữ liệu.
MongoDB cung cấp tên hàm là db. bộ sưu tập_name. find[] để vận hành thao tác truy vấn trên cơ sở dữ liệu. Trong bài đăng này, chúng tôi đã thảo luận về chức năng này theo nhiều cách bằng cách sử dụng các phương thức và toán tử khác nhau.
Ở đây, chúng tôi đang làm việc với
cơ sở dữ liệu. chuyên viên máy tính
thu thập. Mạo từ
Ghi chú. Ở đây, phương thức truy vấn “pretty[]” chỉ được sử dụng để Cơ sở dữ liệu Tài liệu dễ đọc hơn. [Không cần thiết]
Lựa chọn trường
The find[] method displays the database collection in Non-Structured form[{ : }] including auto-created ” id ” by MongoDB and collection data inserted by user or admin.
cú pháp
db. bộ sưu tập_name. tìm thấy[]
Ví dụ.
db.article.find[]
Phương pháp này được sử dụng để hiển thị tất cả các tài liệu có trong bộ sưu tập bài viết.
Tìm một tài liệu duy nhất
Trong MongoDB, chúng ta có thể tìm thấy một tài liệu bằng phương thức findOne[], Phương thức này trả về tài liệu đầu tiên khớp với biểu thức truy vấn bộ lọc đã cho
cú pháp.
db. bộ sưu tập_name. tìm một []
Ví dụ
db.article.findOne[]
Ở đây, chúng tôi sẽ hiển thị tài liệu đầu tiên của bộ sưu tập bài viết
Hiển thị tài liệu theo cách được định dạng
Trong MongoDB, chúng ta có thể hiển thị các tài liệu của bộ sưu tập được chỉ định theo cách được định dạng tốt bằng phương thức pretty[].
cú pháp.
db. bộ sưu tập_name. tìm thấy[]. khá[]
Ví dụ
db.article.find[].pretty[]
Ở đây, chúng tôi sẽ hiển thị các tài liệu của bộ sưu tập bài viết theo cách được định dạng tốt bằng cách sử dụng phương thức pretty[]
Truy vấn bộ lọc bằng nhau
Toán tử đẳng thức[$eq] được sử dụng để so khớp các tài liệu trong đó giá trị của trường bằng với giá trị đã chỉ định. Nói cách khác, toán tử $eq được sử dụng để xác định điều kiện bình đẳng
cú pháp.
db. bộ sưu tập_name. tìm [{< phím >. {$eq. < giá trị >}}]
Ví dụ.
db.article.find[{author:{$eq:"devil"}}].pretty[]
Ở đây, chúng tôi sẽ hiển thị các tài liệu phù hợp với truy vấn bộ lọc [i. e. , {tác giả. {$eq. “devil”}}] từ bộ sưu tập bài viết
Lớn hơn truy vấn bộ lọc
Để lấy dữ liệu số cụ thể bằng các điều kiện như lớn hơn bằng hoặc nhỏ hơn bằng, hãy sử dụng toán tử $gte hoặc $lte trong phương thức find[].
cú pháp.
db.collection_name.find[{< key > : {$gte : < value >}}]
hoặc
db.collection_name.find[{< key > : {$lte : < value >}}]
Ví dụ.
db.article.find[{length:{$gte:510}}].pretty[]
Ở đây, chúng tôi đang truy vấn để lấy dữ liệu được ghi lại có giá trị thuộc tính độ dài lớn hơn 510. Vì vậy, chúng tôi chuyển một truy vấn bộ lọc là {length. {$gte. 510}} trong phương thức find[]
Kiểm tra truy vấn bộ lọc tồn tại
Toán tử $exists hiển thị tất cả các tài liệu bộ sưu tập nếu chúng tồn tại trên một khóa nhất định
cú pháp.
db. bộ sưu tập_name. tìm [{< phím >. {$tồn tại. < boolean >}}]
Ví dụ.
db.article.find[{time:{$exists:"true"}}].pretty[]
Ở đây, chúng ta sẽ xem xét tất cả các tài liệu có thuộc tính được đặt tên là thời gian bằng cách chuyển truy vấn bộ lọc {time. {$tồn tại. “true”}} trong phương thức find[]
Truy vấn toán tử logic
$and thuộc loại toán tử logic MongoDB thực hiện thao tác AND logic trên mảng của một hoặc nhiều biểu thức và chỉ chọn hoặc truy xuất những tài liệu khớp với tất cả các biểu thức đã cho .
cú pháp.
db.collection_name.find[{$and : [{< key > : {$eq : < value1 >}}, {< key > : {$exists : < boolean >}}]}]
Ví dụ
db.article.find[{$and:[{level:{$eq:"high"}},{level:{$exists : "true"}}]}].pretty[]
Trong ví dụ truy vấn này, chúng tôi đang sử dụng toán tử và và đưa ra hai điều kiện được tô sáng sau
- và nhà điều hành. {$và. [ điều kiện thứ nhất, điều kiện thứ hai]}
- điều kiện đầu tiên [mức == “cao”]. { cấp độ. {$eq. "cao"}}
- điều kiện thứ hai. {cấp độ. {$tồn tại. "thật"}}
truy vấn dự án
Truy vấn này trả về kết quả bất kỳ thứ gì chúng tôi chỉ định trong tham số bằng cách sử dụng 1 và 0
- 1. Nó chỉ ra để trả về kết quả
- 0. Nó báo là không trả về kết quả
Các tham số này được gọi là Tham số chiếu.
cú pháp.
db. collection_name. find[{< key > : < value >}, { : < Projection_Parameter >}]
Ví dụ.
db. article. find[{author : "devil"},{title : 0}].pretty[]
Ví dụ về truy vấn này đang yêu cầu dữ liệu có tác giả tên là "quỷ" nhưng trong bản ghi không muốn hiển thị thuộc tính tiêu đề bằng cách chỉ định nó làm tham số chiếu 0
- Truy vấn tìm bản ghi có thuộc tính đã cho. { tác giả. "ác quỷ"}
- Tham số chiếu. {Tiêu đề. 0}
Truy vấn giới hạn
Phương thức truy vấn này chỉ định số lượng tài liệu tối đa để con trỏ trả về.
cú pháp.
db.collection_name.find[{< key > : < value >}].limit[< Integer_value >]
Ví dụ.
db. mạo từ. tìm [{tác giả. "ác quỷ" }]. giới hạn[2]. khá[]
Phương thức truy vấn này chỉ đơn giản là phần mở rộng của phương thức tìm chỉ cung cấp kết quả ở một số giới hạn tối đa [ở đây là 2]
- Truy vấn tìm bản ghi có thuộc tính đã cho. tìm [{tác giả. "ác quỷ" }]
- Truy vấn để giới hạn kết quả. giới hạn[ 2]
đầu ra.
Sắp xếp các trường
Trong MongoDB, Nó trả về kết quả tìm kiếm theo thứ tự được sắp xếp có thể tăng dần hoặc giảm dần. Thứ tự chỉ định bởi tham số đã cho như
- 1 [Một tích cực]. Nó cho biết thứ tự tăng dần của giá trị thuộc tính trong bản ghi
- -1 [Số âm]. Nó cho biết thứ tự giảm dần của giá trị thuộc tính trong bản ghi
cú pháp
db. bộ sưu tập_name. tìm thấy[]. sắp xếp [{< phím >. 1}]
Ví dụ.
________số 8Ví dụ này sẽ hiển thị bản ghi kết quả có thuộc tính ví dụ và nó sẽ hiển thị theo thứ tự tăng dần vì ở đây chúng ta đang chuyển giá trị 1