Làm cách nào để tìm dữ liệu trong MongoDB?

Trong mongoDB, phương thức find() được sử dụng để tìm nạp một dữ liệu cụ thể từ bảng. Nói cách khác, nó được sử dụng để chọn dữ liệu trong một bảng. Nó cũng được sử dụng để trả lại tất cả các sự kiện cho dữ liệu đã chọn. Phương thức find() bao gồm hai tham số mà chúng ta có thể tìm thấy một bản ghi cụ thể

cú pháp

  1. truy vấn. Đây là một 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, nó định nghĩa một truy vấn là những gì bạn muốn tìm trong một bộ sưu tập
  2. chiếu. Đây là một tham số tùy chọn xác định nội dung sẽ trả về nếu tiêu chí truy vấn được đáp ứng thành công. Nói một cách đơn giản, đó là một kiểu ra quyết định dựa trên các tiêu chí
Làm cách nào để tìm dữ liệu trong MongoDB?

ví dụ

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

{
           "_id" : ObjectId("56254d4fdf2222265r4g12ds3d65f"),
           "name" : "Mick",
           "Course" : "btech",
           "batch_year" : 2018,
           "language" : ["c++", "java", "python"],
}
{
           "_id" : ObjectId("56254d4fdf2222265r4g12ds3d691"),
           "name" : "Zoya",
           "Course" : "BCA",
           "batch_year" : 2020,
           "language" : ["C#", "JavaScript"],
}
{
           "_id" : ObjectId("56254d4fdf2222265r4g12ds3d655"),
           "name" : "Jonny",
           "Course" : "MCA",
           "batch_year" : 2019,
           "language" : ["C#", "java", "PHP"],
}
{
           "_id" : ObjectId("56254d4fdf2222265r4g12ds3d678"),
           "name" : "Oliver",
           "Course" : "BA",
           "batch_year" : 2017,
           "language" : ["c", "PHP"],
}
{
           "_id" : ObjectId("56254d4fdf2222265r4g12ds3d665"),
           "name" : "Mia",
           "Course" : "btech",
           "batch_year" : 2020,
           "language" : ["HTML", "CSS", "PHP"],
}

ví dụ 1. Tìm tất cả các tài liệu trong bộ sưu tập của sinh viên

Khi chúng tôi cần tất cả các bản ghi, chúng tôi không sử dụng bất kỳ tham số nào trong truy vấn

đầu ra

Làm cách nào để tìm dữ liệu trong MongoDB?

ví dụ 2. Tìm tài liệu cụ thể

Trong ví dụ này, chúng tôi chỉ truy xuất tài liệu của những sinh viên có batch_year lớn hơn 2018

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

Thí 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["cơ sở dữ liệu của tôi"]
mycol = mydb["khách hàng"]

cho x trong mycol. tìm thấy()
in(x)

Chạy ví dụ »


Làm cách nào để tìm dữ liệu trong MongoDB?


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ả

Thí 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["cơ sở dữ liệu của tôi"]
mycol = mydb["khách hàng"]

cho x trong mycol. tìm ID". 0, "tên". 1, "địa chỉ". 1 })
in(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

Thí 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["cơ sở dữ liệu của tôi"]
mycol = mydb["khách hàng"]

cho x trong mycol. tìm địa chỉ". 0 })
in(x)

Chạy ví dụ »

Thí 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)

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 −

Làm cách nào để xem dữ liệu trong MongoDB?

Cơ sở dữ liệu→
Tìm kiếm→
Hồ dữ liệu (Xem trước)→
Biểu đồ→
Đồng bộ hóa thiết bị→
API, Trình kích hoạt, Chức năng→

Làm cách nào để lấy dữ liệu cụ thể từ MongoDB?

Để 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í.

Làm cách nào để tìm kiếm dữ liệu trong la bàn MongoDB?

Trong La bàn, sử dụng bảng điều hướng bên trái để chọn cơ sở dữ liệu và bộ sưu tập bạn muốn nhập dữ liệu vào
Nhấp vào tab Tài liệu
Nhấp vào Thêm dữ liệu và chọn Chèn tài liệu
Đảm bảo rằng Chế độ xem được đặt thành JSON hoặc {} và dán tài liệu JSON đã sao chép vào trường
Nhấp vào Chèn