Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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ạy ví dụ »



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)

Chạy ví dụ »

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)

Chạy ví dụ »

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.  

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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()

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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()

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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()

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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"}}

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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}

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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.  

Phương pháp nào được sử dụng để truy vấn dữ liệu từ bộ sưu tập MongoDB?

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ố 8

Ví 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

Cách truy vấn được thực hiện trong MongoDB?

điều kiện tiên quyết
Bước 1 — Chuẩn bị cơ sở dữ liệu mẫu
Bước 2 — Truy vấn các trường riêng lẻ
Bước 3 — Sử dụng Nhiều Điều kiện
Bước 4 - Truy vấn giá trị mảng
Bước 5 — Truy vấn các trường trong tài liệu lồng nhau
Bước 6 — Trả về một tập hợp con các trường
Bước 7 — Sử dụng con trỏ để sắp xếp và giới hạn kết quả truy vấn

Làm cách nào để truy vấn một bộ sưu tập trong MongoDB trong shell?

Sử dụng db. bộ sưu tập. phương thức find() trong MongoDB Shell để truy vấn tài liệu trong bộ sưu tập.

Làm cách nào để kiểm tra dữ liệu trong bộ sưu tập MongoDB?

Bạn có thể kiểm tra bộ sưu tập đã tạo bằng cách sử dụng lệnh show collections . Trong MongoDB, bạn không cần tạo bộ sưu tập.

Các phương thức trong MongoDB là gì?

Phương pháp mongosh .
thu thập
con trỏ
cơ sở dữ liệu
Bộ nhớ cache kế hoạch truy vấn
Thao tác ghi hàng loạt
Quản lý người dùng
Quản lý vai trò
Nhân rộng