Phương thức find() của MongoDB chọn các tài liệu từ một bộ sưu tập hoặc chế độ xem và trả về một con trỏ tới các tài liệu đó. Có hai tham số trong công thức này - truy vấn và phép chiếu. Truy vấn là một tham số tùy chọn chỉ định tiêu chí để lựa chọn. Nói một cách đơn giản, truy vấn là thứ bạn muốn tìm kiếm trong một bộ sưu tập. Phép chiếu là một tham số tùy chọn chỉ định nội dung sẽ được trả về nếu tiêu chí truy vấn được đáp ứng. Nói một cách đơn giản, đó là một kiểu ra quyết định dựa trên một bộ tiêu chí. Để biết thêm thông tin, hãy xem cách học phát triển Web Full Stack. Show
Lược đồ linh hoạt MongoDBCơ sở dữ liệu NoSQL, viết tắt của "không chỉ SQL", là một cách lưu trữ và truy xuất dữ liệu khác với cấu trúc bảng truyền thống của cơ sở dữ liệu quan hệ (RDBMS). Khi lưu trữ một lượng lớn dữ liệu phi cấu trúc với các lược đồ thay đổi, cơ sở dữ liệu NoQuery thực sự là một lựa chọn tốt hơn RDBMS. Thuộc tính mở rộng theo chiều ngang của cơ sở dữ liệu NoSQL cho phép chúng lưu trữ và xử lý lượng lớn dữ liệu Chúng được dùng để lưu trữ, truy xuất và quản lý dữ liệu định hướng tài liệu, thường được lưu trữ ở định dạng JSON (Ký hiệu đối tượng JavaScript). Cơ sở dữ liệu tài liệu, không giống như RDBMS, có một lược đồ linh hoạt được xác định bởi nội dung của tài liệu. MongoDB là một trong những cơ sở dữ liệu tài liệu NoSQL mã nguồn mở được sử dụng rộng rãi nhất. MongoDB được gọi là cơ sở dữ liệu 'không lược đồ' vì nó không áp đặt cấu trúc cụ thể cho các tài liệu trong bộ sưu tập MongoDB tương thích với một số ngôn ngữ lập trình phổ biến. Nó cũng cung cấp mức độ linh hoạt hoạt động cao vì nó mở rộng tốt theo chiều ngang, cho phép dữ liệu được trải rộng hoặc 'phân mảnh' trên nhiều máy chủ hàng hóa với khả năng thêm nhiều máy chủ hơn khi cần. MongoDB có thể chạy trên nhiều nền tảng, bao gồm máy tính xách tay của nhà phát triển, đám mây riêng và đám mây công cộng MongoDB Truy vấn tài liệu bằng cách sử dụng find()Các truy vấn MongoDB được sử dụng để truy xuất hoặc tìm nạp dữ liệu từ cơ sở dữ liệu MongoDB. Khi chạy truy vấn, bạn có thể sử dụng tiêu chí hoặc điều kiện để truy xuất dữ liệu cụ thể từ cơ sở dữ liệu. chức năng db. bộ sưu tập được cung cấp bởi MongoDB. find() là hàm truy xuất tài liệu từ cơ sở dữ liệu MongoDB. Trong MongoDB, findmethods được sử dụng để truy xuất một tài liệu cụ thể từ bộ sưu tập MongoDB. Trong Mongo DB, có tổng cộng sáu phương thức để truy xuất các bản ghi cụ thể
cú pháp find(query, projection) Chúng tôi có thể tìm nạp một bản ghi cụ thể bằng phương thức Tìm có hai tham số. Nếu hai tham số này bị bỏ qua, phương thức find sẽ trả về tất cả các tài liệu trong bộ sưu tập MongoDB Thí dụ Xem xét một ví dụ về nhân viên với cơ sở dữ liệu của employee_id và employee_name và chúng tôi sẽ tìm nạp tài liệu bằng phương thức find() Đầu tiên, tạo một cơ sở dữ liệu với tên “nhân viên” với đoạn mã sau sử dụng nhân viên Bây giờ, hãy tạo một bộ sưu tập “nhân viên” với db.createCollection("employee") Trong bước tiếp theo, chúng tôi sẽ chèn các tài liệu vào cơ sở dữ liệu db.employee.insert([{employee_id: 101, employee_name: "Ishan"}, {employee_id: 102, employee_name: "Bhavesh"}, {employee_id: 103, employee_name: "Madan"}]) Tìm tất cả Tài liệu Để lấy tất cả các bản ghi trong một bộ sưu tập, chúng ta cần sử dụng phương thức find với tham số trống. Nói cách khác, khi chúng tôi cần tất cả các bản ghi, chúng tôi sẽ không sử dụng bất kỳ tham số nào db.employee.find() Đầu ra trong Mongo Shell Phương thức pretty() có thể được sử dụng để hiển thị kết quả theo cách được định dạng cú pháp db.COLLECTION_NAME.find().pretty() Hãy kiểm tra tài liệu của chúng ta với phương thức pretty() Bộ lọc truy vấnChúng ta sẽ xem các ví dụ về thao tác truy vấn sử dụng thedb. thu thập. phương thức find() inmongosh Chúng tôi sẽ sử dụng bộ sưu tập nhân viên trong cơ sở dữ liệu nhân viên db.employee.insert([{employee_id: 101, employee_name: "Ishan", age: 21, email_id: "[email protected]"}, {employee_id: 102, employee_name: "Bhavesh", age: 22, email_id: "[email protected]"}, {employee_id: 103, employee_name: "Madan", age: 23, email_id: "[email protected]"}]) Như chúng ta đã thấy trước đó, để chọn tất cả các tài liệu trong cơ sở dữ liệu, chúng ta chuyển một tài liệu trống làm tham số bộ lọc truy vấn cho phương thức tìm Bạn lo lắng về cách bắt đầu sự nghiệp của mình trong lĩnh vực phát triển web? . db.employee.find().pretty() 1. Tìm tài liệu đầu tiên trong một bộ sưu tập.db.employee.findOne() 2. Tìm tài liệu theo ID.db.employee.findOne({_id : ObjectId("61d1ae0b56b92c20b423a5a7")}) 3. Tìm tài liệu phù hợp với tiêu chí truy vấndb.employee.find({“age”: “22”}) db.createCollection("employee")0 4. Sắp xếp kết quả theo trường.db. Nhân viên. tìm thấy(). sắp xếp ({tuổi. 1}). đẹp()theo độ tuổi, tăng dần db. Nhân viên. tìm thấy(). sắp xếp ({tuổi. -1}). đẹp()thứ tự theo tuổi, giảm dần VÀ Điều kiệnTruy vấn ghép có thể chỉ định điều kiện cho nhiều trường trong tài liệu trong bộ sưu tập. Liên kết logic AND kết nối gián tiếp các mệnh đề của truy vấn ghép, cho phép truy vấn chọn tất cả các tài liệu trong bộ sưu tập đáp ứng các điều kiện đã chỉ định Trong ví dụ sau, chúng tôi sẽ xem xét tất cả các tài liệu trong bộ sưu tập nhân viên trong đó employee_id bằng 101 và tuổi bằng 21 db.createCollection("employee")1 Truy vấn các trường lồng nhauTính năng nhúng hoặc lồng tài liệu trong MongoDB là một tính năng hữu ích. Tài liệu nhúng, còn được gọi là tài liệu lồng nhau, là tài liệu chứa các tài liệu khác Bạn chỉ cần nhúng một tài liệu vào bên trong một tài liệu khác trong MongoDB. Các tài liệu được xác định trong trình bao mongo bằng cách sử dụng dấu ngoặc nhọn () và các cặp giá trị trường được chứa trong các dấu ngoặc nhọn này Sử dụng dấu ngoặc nhọn, giờ đây chúng ta có thể nhúng hoặc đặt một tài liệu khác bên trong các trường này, có thể bao gồm các cặp giá trị trường hoặc tài liệu phụ khác cú pháp db.createCollection("employee")2 Thí dụ Chúng tôi có một cơ sở dữ liệu “nested” và trong cơ sở dữ liệu này, chúng tôi có bộ sưu tập “nesteddoc” Các tài liệu sau sẽ chèn vào thenesteddoccollection db.createCollection("employee")3 Đặt các tài liệu trong bộ sưu tập bây giờ. Ngoài ra, hãy xem kết quả Kết quả là, bộ sưu tập Nesteddoc chứa bốn tài liệu, mỗi tài liệu chứa các tài liệu lồng nhau. Phương thức find() có thể được sử dụng để truy cập tài liệu của bộ sưu tập db.createCollection("employee")4 Chỉ định điều kiện đẳng thức.Trong ví dụ này, chúng tôi sẽ chọn tài liệu từ truy vấn Nesteddoc trong đó dept bằng “A” db.createCollection("employee")5 Truy vấn mảngSử dụng tài liệu truy vấn {. } để chỉ định một điều kiện đẳng thức trên một mảng, trong đó mảng chính xác phù hợp, bao gồm cả thứ tự của các phần tử Truy vấn sau tìm kiếm tất cả các tài liệu có giá trị thẻ trường là một mảng có chính xác hai phần tử, "S" và "M" theo thứ tự được chỉ định db.createCollection("employee")6 Sử dụng toán tử $all để tìm một mảng chứa cả hai phần tử "S" và "M", bất kể thứ tự hoặc các phần tử khác trong mảng. db.createCollection("employee")7 Truy vấn một mảng cho một phần tử.Ví dụ sau truy vấn cho tất cả các tài liệu trong đó kích thước là một mảng chứa chuỗi “S” là một trong các phần tử của nó db.createCollection("employee")8 Điều kiện lọcĐể thảo luận về các điều kiện lọc, chúng tôi sẽ xem xét một tình huống xây dựng điều này. Chúng tôi sẽ bắt đầu bằng cách tạo một bộ sưu tập với tên “products” và sau đó thêm các tài liệu vào đó db.createCollection("employee")9 Để kiểm tra tài liệu, hãy sử dụng db. Mỹ phẩm. tìm thấy() 1. $gt$gt chọn tài liệu có giá trị trường lớn hơn (hoặc bằng) giá trị đã chỉ định db.employee.insert([{employee_id: 101, employee_name: "Ishan"}, {employee_id: 102, employee_name: "Bhavesh"}, {employee_id: 103, employee_name: "Madan"}])0 2. $gte.$gte tìm các tài liệu trong đó giá trị của một trường lớn hơn hoặc bằng (i. e. >=) một giá trị xác định (e. g. giá trị. ) db.employee.insert([{employee_id: 101, employee_name: "Ishan"}, {employee_id: 102, employee_name: "Bhavesh"}, {employee_id: 103, employee_name: "Madan"}])1 3. $lt.$lt chọn tài liệu có giá trị trường nhỏ hơn (hoặc bằng) giá trị đã chỉ định db.employee.insert([{employee_id: 101, employee_name: "Ishan"}, {employee_id: 102, employee_name: "Bhavesh"}, {employee_id: 103, employee_name: "Madan"}])2 4. $lte.$lte chọn tài liệu trong đó giá trị của trường nhỏ hơn hoặc bằng (i. e. =) giá trị được chỉ định db.employee.insert([{employee_id: 101, employee_name: "Ishan"}, {employee_id: 102, employee_name: "Bhavesh"}, {employee_id: 103, employee_name: "Madan"}])3 Truy vấn mảng theo độ dài mảng.Để tìm các mảng có số lượng phần tử cụ thể, hãy sử dụng toán tử $size. Ví dụ: sau đây chọn tài liệu có hai phần tử trong mảng db.employee.insert([{employee_id: 101, employee_name: "Ishan"}, {employee_id: 102, employee_name: "Bhavesh"}, {employee_id: 103, employee_name: "Madan"}])4 Phép chiếuTrong MongoDB, phép chiếu đề cập đến việc chỉ chọn dữ liệu được yêu cầu thay vì toàn bộ dữ liệu của tài liệu. Nếu một tài liệu có năm trường và bạn chỉ muốn hiển thị ba trường trong số đó, hãy chỉ chọn ba trường trong số đó Phương thức find() trong MongoDB chấp nhận tham số tùy chọn thứ hai, là danh sách các trường cần truy xuất, như được giải thích trong Tài liệu truy vấn MongoDB. Khi bạn sử dụng phương thức find() trong MongoDB, nó sẽ hiển thị tất cả các trường của tài liệu. Để ngăn chặn điều này, hãy tạo một danh sách các trường có giá trị 1 hoặc 0. Giá trị 1 cho biết trường sẽ hiển thị, trong khi 0 cho biết trường sẽ bị ẩn cú pháp db.employee.insert([{employee_id: 101, employee_name: "Ishan"}, {employee_id: 102, employee_name: "Bhavesh"}, {employee_id: 103, employee_name: "Madan"}])5 Thí dụ Chúng ta sẽ xem xét ví dụ trước về bộ sưu tập sản phẩm. Chạy lệnh dưới đây trên mongoshell để tìm hiểu cách hoạt động của phép chiếu db.employee.insert([{employee_id: 101, employee_name: "Ishan"}, {employee_id: 102, employee_name: "Bhavesh"}, {employee_id: 103, employee_name: "Madan"}])6 Hãy nhớ rằng trường _id luôn được hiển thị trong khi thực hiện phương thức find(); . Làm cách nào để truy vấn tất cả các bản ghi trong MongoDB?Nếu chúng ta muốn tìm nạp tất cả các tài liệu từ bộ sưu tập, có thể sử dụng lệnh mongodb sau. > db. chi tiết người dùng. tìm(); hoặc >db.
Làm cách nào để tìm tất cả dữ liệu trong MongoDB?Tìm tất cả. Để chọn dữ liệu từ một bảng trong MongoDB, chúng ta cũng có thể sử dụng phương thức find() . Phương thức find() trả về tất cả các lần xuất hiện trong vùng chọn. Tham số đầu tiên của phương thức find() là một đối tượng truy vấn.
Làm cách nào để tìm nhiều bản ghi trong MongoDB?Bạn có thể truy vấn nhiều tài liệu trong một bộ sưu tập với bộ sưu tập. tìm() . Phương thức find() sử dụng tài liệu truy vấn mà bạn cung cấp để khớp với tập hợp con của các tài liệu trong bộ sưu tập khớp với truy vấn.
Làm cách nào để chọn tất cả dữ liệu từ bộ sưu tập trong MongoDB?Trong MongoDB, phương thức find() được sử dụng để chọn tài liệu trong bộ sưu tập và trả lại con trỏ cho tài liệu đã chọn. Con trỏ nghĩa là một con trỏ trỏ đến một tài liệu, khi chúng ta sử dụng phương thức find() nó sẽ trả về một con trỏ trên các tài liệu đã chọn và trả về từng cái một. |