Đối tượng truy vấn MongoDB

Ví dụ sau truy xuất tất cả các tài liệu từ bộ sưu tập có tên mycol và sắp xếp chúng theo định dạng dễ đọc

> db.mycol.find().pretty()
{
	"_id" : ObjectId("5dd4e2cc0821d3b44607534c"),
	"title" : "MongoDB Overview",
	"description" : "MongoDB is no SQL database",
	"by" : "tutorials point",
	"url" : "http://www.tutorialspoint.com",
	"tags" : [
		"mongodb",
		"database",
		"NoSQL"
	],
	"likes" : 100
}
{
	"_id" : ObjectId("5dd4e2cc0821d3b44607534d"),
	"title" : "NoSQL Database",
	"description" : "NoSQL database doesn't have tables",
	"by" : "tutorials point",
	"url" : "http://www.tutorialspoint.com",
	"tags" : [
		"mongodb",
		"database",
		"NoSQL"
	],
	"likes" : 20,
	"comments" : [
		{
			"user" : "user1",
			"message" : "My first comment",
			"dateCreated" : ISODate("2013-12-09T21:05:00Z"),
			"like" : 0
		}
	]
}

Phương thức findOne()

Ngoài phương thức find(), còn có phương thức findOne() chỉ trả về một tài liệu

cú pháp

>db.COLLECTIONNAME.findOne()

Thí dụ

Ví dụ sau truy xuất tài liệu có tiêu đề Tổng quan về MongoDB

> db.mycol.findOne({title: "MongoDB Overview"})
{
	"_id" : ObjectId("5dd6542170fb13eec3963bf0"),
	"title" : "MongoDB Overview",
	"description" : "MongoDB is no SQL database",
	"by" : "tutorials point",
	"url" : "http://www.tutorialspoint.com",
	"tags" : [
		"mongodb",
		"database",
		"NoSQL"
	],
	"likes" : 100
}

RDBMS Where Mệnh đề tương đương trong MongoDB

Để truy vấn tài liệu trên cơ sở một số điều kiện, bạn có thể sử dụng các thao tác sau

OperationSyntaxExampleRDBMS EquivalentEquality{:{$eg;}}db.mycol.find({"by":"tutorials point"}).pretty()where by = 'tutorials point'Less Than{:{$lt:}}db.mycol.find({"likes":{$lt:50}}).pretty()where likes < 50Less Than Equals{:{$lte:}}db.mycol.find({"likes":{$lte:50}}).pretty()where likes <= 50Greater Than{:{$gt:}}db.mycol.find({"likes":{$gt:50}}).pretty()where likes > 50Greater Than Equals{:{$gte:}}db.mycol.find({"likes":{$gte:50}}).pretty()where likes >= 50Not Equals{:{$ne:}}db.mycol.find({"likes":{$ne:50}}).pretty()where likes != 50Values in an array{:{$in:[,,……]}}db.mycol.find({"name":{$in:["Raj", "Ram", "Raghu"]}}).pretty()Where name matches any of the value in :["Raj", "Ram", "Raghu"]Values not in an array{:{$nin:}}db.mycol.find({"name":{$nin:["Ramu", "Raghav"]}}).pretty()Where name values is not in the array :["Ramu", "Raghav"] or, doesn’t exist at all

VÀ trong MongoDB

cú pháp

Để truy vấn tài liệu dựa trên điều kiện NOT, bạn cần sử dụng từ khóa $not sau đây là cú pháp cơ bản của NOT −

E. g. để tìm các tài liệu mà trường "địa chỉ" bắt đầu bằng chữ "S" hoặc cao hơn (theo bảng chữ cái), hãy sử dụng công cụ sửa đổi lớn hơn. {"$gt": "S"}

Thí dụ

Tìm tài liệu có địa chỉ bắt đầu bằng chữ "S" hoặc cao hơn

pymongo nhập khẩu

myclient = pymongo. MongoClient("mongodb. //máy chủ cục bộ. 27017/")
mydb = myclient["cơ sở dữ liệu của tôi"]
mycol = mydb["khách hàng"]

myquery = { "địa chỉ". { "$gt". "S" } }

mydoc = mycol. tìm (truy vấn)

cho x trong mydoc
in(x)

Chạy ví dụ »


Lọc với biểu thức chính quy

Bạn cũng có thể sử dụng các biểu thức chính quy làm công cụ sửa đổi

Biểu thức chính quy chỉ có thể được sử dụng để truy vấn chuỗi

Để chỉ tìm những tài liệu mà trường "địa chỉ" bắt đầu bằng chữ "S", hãy sử dụng biểu thức chính quy {"$regex": "^S"}

MongoDB cung cấp cho bạn các thao tác đọc để truy xuất các tài liệu được nhúng/lồng nhau từ bộ sưu tập hoặc truy vấn một bộ sưu tập cho một tài liệu được nhúng/lồng nhau. Bạn có thể thực hiện các thao tác đọc bằng db. thu thập. phương thức tìm(). Phương pháp này chọn hoặc xem các tài liệu được nhúng/lồng nhau của bộ sưu tập và trả con trỏ về tài liệu đã chọn

cú pháp. db. thu thập. tìm (bộ lọc, phép chiếu)

Thông số.  

  • lọc. Nó là một tham số tùy chọn. Nó chỉ định bộ lọc lựa chọn với sự trợ giúp của toán tử truy vấn. Và nếu bạn muốn lấy tất cả các tài liệu có trong bộ sưu tập, thì hãy bỏ qua các tham số này hoặc chuyển một tài liệu trống vào phương thức. Loại tham số này là Tài liệu
  • chiếu. Nó là một tham số tùy chọn. Nó chỉ định rằng chỉ những trường đó mới quay lại tài liệu khớp với bộ lọc truy vấn đã cho. Và nếu bạn muốn lấy tất cả các trường trong tài liệu thì bỏ qua tham số này

Trở lại. Phương thức này trả về một con trỏ tới các tài liệu khớp với tiêu chí truy vấn đã chỉ định. Khi bạn sử dụng phương thức find(), nó sẽ trả về tài liệu, có nghĩa là phương thức này thực sự đang trả về con trỏ cho tài liệu

Truy cập tài liệu được nhúng/lồng nhau –

Trong MongoDB, bạn có thể truy cập các trường của tài liệu lồng/nhúng của bộ sưu tập bằng cách sử dụng ký hiệu dấu chấm và khi bạn đang sử dụng ký hiệu dấu chấm, thì trường và trường lồng nhau phải nằm trong dấu ngoặc kép.  

cú pháp.  

"field.nestedField": value

Trong các ví dụ sau, chúng tôi đang làm việc với

cơ sở dữ liệu. GeekforGeek

Bộ sưu tập. khóa học

Tài liệu. ba tài liệu chứa thông tin chi tiết về sinh viên ở dạng cặp trường-giá trị

Đối tượng truy vấn MongoDB

Phù hợp với tài liệu được nhúng/lồng nhau –

Trong ví dụ này, chúng tôi đang truy xuất các tài liệu khớp với trường lồng nhau bằng cách sử dụng toán tử truy vấn. Ở đây, trong truy vấn, chúng tôi sử dụng toán tử $in. Toán tử này được sử dụng để khớp với bất kỳ giá trị nào được chỉ định trong mảng đã cho.  

Làm thế nào bạn có thể truy vấ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 để chọn db trong MongoDB?

Mở một kết nối cơ sở dữ liệu mới. Mở kết nối đến máy chủ mới bằng Mongo mới(). Sử dụng phương thức getDB() của kết nối để chọn cơ sở dữ liệu .

Làm cách nào để lấy dữ liệu từ đối tượng lồng nhau trong MongoDB?

Truy cập tài liệu nhúng/lồng nhau – . using dot notation and when you are using dot notation, then the field and the nested field must be inside the quotation marks.

Truy vấn chọn trong MongoDB là gì?

Một câu lệnh SQL SELECT thường truy xuất dữ liệu từ các bảng trong cơ sở dữ liệu , giống như câu lệnh find shell mongo truy xuất tài liệu từ một bộ sưu tập trong .