Làm cách nào để tìm kiếm các mục trong 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 −

Phương thức tìm kiếm trong MongoDB Truy vấn được sử dụng để tìm nạp một tài liệu cụ thể từ bộ sưu tập MongoDB. Có tổng cộng sáu phương thức có sẵn trong Mongodb để chúng ta có thể tìm nạp các bản ghi cụ thể

Những phương pháp đó bao gồm

  • tìm thấy()
  • findAndModify()
  • tìm một()
  • findOneAndDelete()
  • findOneAndReplace()
  • findOneAndUpdate()

cú pháp

find(query,projection)

Phương thức tìm bao gồm hai tham số mà chúng ta có thể tìm nạp một bản ghi cụ thể. Nếu chúng ta không sử dụng hai tham số này thì phương thức find sẽ trả về tất cả các tài liệu có sẵn trong bộ sưu tập MongoDB

Truy vấn – Đây là tham số tùy chọn xác định tiêu chí lựa chọn. Nói một cách đơn giản, những gì bạn muốn tìm kiếm trong một bộ sưu tập sẽ được định nghĩa là một truy vấn

Phép chiếu – Đây là tham số tùy chọn xác định nội dung trả về khi tiêu chí truy vấn đáp ứng thành công. Nói một cách đơn giản, đó là một kiểu ra quyết định sẽ đưa ra quyết định dựa trên các tiêu chí

Tìm tất cả tài liệu

Để tìm nạp tất cả các bản ghi có sẵn trong một bộ sưu tập, chúng ta cần sử dụng phương thức find có tham số trống. Nói một cách đơn giản, chúng tôi sẽ không sử dụng bất kỳ tham số nào khi chúng tôi cần tất cả các bản ghi

Mã số

db.staff().find()

Hình 1. Trong vỏ Mongo

Làm cách nào để tìm kiếm các mục trong mongodb?

Hình 2. Trong Robo 3T

Làm cách nào để tìm kiếm các mục trong mongodb?

Tìm tài liệu cụ thể

Để tìm nạp một tài liệu cụ thể từ bộ sưu tập MongoDB, chúng ta có thể sử dụng tham số truy vấn trong phương thức tìm. Tham số này sẽ giúp chúng tôi chỉ tìm nạp bản ghi đáp ứng tiêu chí

Trong ví dụ sau, chúng tôi sẽ tìm nạp bản ghi theo ID nhân viên, trong đó ID nhân viên bằng ba và nó sẽ chỉ trả lại cho chúng tôi tài liệu đó

Mã số

db.staff().find({staff_id:3})

Hình 3. Trong vỏ Mongo

Làm cách nào để tìm kiếm các mục trong mongodb?

hinh 4. Trong Robo 3T

Làm cách nào để tìm kiếm các mục trong mongodb?

Tìm tài liệu với các trường cụ thể

Để tìm nạp các trường cụ thể, chúng ta phải sử dụng phép chiếu trong phương thức tìm. Như đã thảo luận trước đó, dự đoán là một loại ra quyết định. Nó đưa ra quyết định hiển thị và ẩn các trường

Trong ví dụ sau, bạn có thể quan sát thấy rằng chúng tôi chỉ nhận được một bản ghi từ trường tên nhân viên

Mã số

db.staff.find({},{_id:0,staff_member_name:1})

Hình 5. Trong vỏ Mongo

Làm cách nào để tìm kiếm các mục trong mongodb?

Hình 6. Trong Robo 3T

Làm cách nào để tìm kiếm các mục trong mongodb?

Tìm tài liệu cụ thể với tiêu chí có điều kiện

Chúng ta có thể sử dụng các điều kiện để lọc nghiêm ngặt một bản ghi cụ thể

Trong các ví dụ trên, chúng tôi đã thảo luận cách tìm nạp một tài liệu cụ thể. Nhưng bây giờ chúng tôi sẽ áp dụng một điều kiện trên tài liệu cụ thể đó để chỉ trả lại những tài liệu đáp ứng thành công điều kiện

Trong ví dụ sau, chúng tôi đang tìm nạp bản ghi theo tên thành viên “Alex”, trong đó ID nhân viên lớn hơn 2

Mã số

db.staff().find({staff_member_name:”Alex”, staff_id:{$gt:2}})

Hình 7. Trong vỏ Mongo

Làm cách nào để tìm kiếm các mục trong mongodb?

Hình 8. Trong Robo 3T

Làm cách nào để tìm kiếm các mục trong mongodb?

Sự kết luận

Phương thức tìm được sử dụng để tìm nạp tài liệu từ bộ sưu tập MongoDB

Sử dụng phương thức Tìm, chúng tôi có thể tìm nạp các tài liệu cụ thể cũng như các trường cụ thể mà chúng tôi cần. Chúng tôi cũng có thể sử dụng các phương thức tìm khác để truy xuất các tài liệu cụ thể theo yêu cầu của chúng tôi

Làm cách nào để lấy tất cả các mục từ MongoDB?

Tìm nạp tất cả dữ liệu từ bộ sưu tập . > db. chi tiết người dùng. tìm thấy(); .

Mục đích của phương thức Find() trong MongoDB là gì?

Phương thức find() trong MongoDB chọn tài liệu trong bộ sưu tập hoặc chế độ xem và trả về con trỏ cho tài liệu đã chọn . Nó có hai tham số. truy vấn và chiếu.