Hướng dẫn find object in object mongodb - tìm đối tượng trong đối tượng mongodb
Nếu nó chính xác là ____10 (trái ngược với chưa đặt): Show
(Nhưng như Javierfp chỉ ra, nó cũng phù hợp với các tài liệu không có mảng thành phố nào cả, tôi cho rằng họ làm). Nếu đó là trường hợp tài sản không được đặt:
Tôi đã thử nghiệm ở trên với một bộ sưu tập được tạo với hai phần chèn này:
Truy vấn đầu tiên tìm thấy trạng thái đầu tiên, truy vấn thứ hai tìm thấy thứ hai. Nếu bạn muốn tìm cả hai bằng một truy vấn, bạn có thể thực hiện truy vấn 1: Để tìm kiếm mảng đối tượng trong MongoDB, bạn có thể sử dụng toán tử elemmatch $. Toán tử này cho phép chúng tôi tìm kiếm nhiều hơn một thành phần từ một đối tượng mảng. Tôi có thể tìm thấy các vật thể lồng nhau ở đâu trong MongoDB? > db.searchArrayDemo.insertOne({"EmployeeFirstName":"Adam","EmployeeLastName":"Smith","EmployeeDateOfBirth":new ISODate("1992-01-31 13:45:10"), ... "EmployeeSkills":["Spring and Hibernate Framework","Machine Learning"], ... "EmployeeDetails":[ ... { ... "EmployeePerformanceArea":"Java", ... "Year":2001 ... }, ... { ... "EmployeePerformanceArea":"Python", ... "Year":2005 ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5c77b3812386c62d05142a6a") } > db.searchArrayDemo.insertOne({"EmployeeFirstName":"Carol","EmployeeLastName":"Taylor", "EmployeeDateOfBirth":new ISODate("1993-04-21 11:10:20"), "EmployeeSkills":["C++","Cloud Computing"], "EmployeeDetails":[ { "EmployeePerformanceArea":"C++", "Year":1998 }, { "EmployeePerformanceArea":"C++ Game Developer", "Year":2007 } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5c77b58f2386c62d05142a6b") } Truy cập các tài liệu nhúng/lồng nhau - Trong MongoDB, bạn có thể truy cập vào các trường của các tài liệu lồng nhau/nhúng của bộ sưu tập bằng ký hiệu DOT và khi bạn đang sử dụng ký hiệu DOT, thì trường và trường lồng nhau phải nằm trong dấu ngoặc kép. > db.searchArrayDemo.find().pretty(); Làm thế nào để tôi tìm thấy một yếu tố cụ thể trong một mảng trong MongoDB? { "_id" : ObjectId("5c77b3812386c62d05142a6a"), "EmployeeFirstName" : "Adam", "EmployeeLastName" : "Smith", "EmployeeDateOfBirth" : ISODate("1992-01-31T13:45:10Z"), "EmployeeSkills" : [ "Spring and Hibernate Framework", "Machine Learning" ], "EmployeeDetails" : [ { "EmployeePerformanceArea" : "Java", "Year" : 2001 }, { "EmployeePerformanceArea" : "Python", "Year" : 2005 } ] } { "_id" : ObjectId("5c77b58f2386c62d05142a6b"), "EmployeeFirstName" : "Carol", "EmployeeLastName" : "Taylor", "EmployeeDateOfBirth" : ISODate("1993-04-21T11:10:20Z"), "EmployeeSkills" : [ "C++", "Cloud Computing" ], "EmployeeDetails" : [ { "EmployeePerformanceArea" : "C++", "Year" : 1998 }, { "EmployeePerformanceArea" : "C++ Game Developer", "Year" : 2007 } ] } Để truy vấn nếu trường mảng chứa ít nhất một phần tử có giá trị được chỉ định, hãy sử dụng bộ lọc {:} trong đó giá trị phần tử. Để chỉ định các điều kiện trên các phần tử trong trường Array, hãy sử dụng các toán tử truy vấn trong tài liệu bộ lọc truy vấn: {: {:, ...}}} Tìm thấy gì () làm trong MongoDB?Trong MongoDB, phương thức Find () được sử dụng để chọn các tài liệu trong bộ sưu tập và trả con trỏ cho các tài liệu đã chọn. Để hiểu khái niệm trên, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau - > db.searchArrayDemo.find({EmployeeDetails:{$elemMatch:{EmployeePerformanceArea : "C++", Year : 1998}}}).pretty(); Làm thế nào để tôi tìm thấy một yếu tố cụ thể trong một mảng trong MongoDB? { "_id" : ObjectId("5c77b58f2386c62d05142a6b"), "EmployeeFirstName" : "Carol", "EmployeeLastName" : "Taylor", "EmployeeDateOfBirth" : ISODate("1993-04-21T11:10:20Z"), "EmployeeSkills" : [ "C++", "Cloud Computing" ], "EmployeeDetails" : [ { "EmployeePerformanceArea" : "C++", "Year" : 1998 }, { "EmployeePerformanceArea" : "C++ Game Developer", "Year" : 2007 } ] } Để truy vấn nếu trường mảng chứa ít nhất một phần tử có giá trị được chỉ định, hãy sử dụng bộ lọc {:} trong đó giá trị phần tử. Để chỉ định các điều kiện trên các phần tử trong trường Array, hãy sử dụng các toán tử truy vấn trong tài liệu bộ lọc truy vấn: {: {:, ...}}}Tìm thấy gì () làm trong MongoDB? Để hiểu khái niệm trên, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau - > db.searchArrayDemo.find({EmployeeDetails:{$elemMatch:{EmployeePerformanceArea : "C", Year : 1996}}}).pretty(); Hiển thị tất cả các tài liệu từ một bộ sưu tập với phương thức trợ giúp của phương thức find (). Truy vấn như sau -
Sau đây là đầu ra -
Làm cách nào để tìm kiếm một đối tượng trong MongoDB?Để tìm kiếm mảng đối tượng trong MongoDB, bạn có thể sử dụng toán tử elemmatch $.Toán tử này cho phép chúng tôi tìm kiếm nhiều hơn một thành phần từ một đối tượng mảng.use $elemMatch operator. This operator allows us to search for more than one component from an array object.
Tôi có thể tìm thấy các vật thể lồng nhau ở đâu trong MongoDB?Truy cập các tài liệu nhúng/lồng nhau - Trong MongoDB, bạn có thể truy cập các trường của các tài liệu lồng nhau/nhúng của bộ sưu tập bằng ký hiệu DOT và khi bạn đang sử dụng ký hiệu DOT, thì trường và trường lồng nhau phải nằm trong dấu ngoặc kép.using dot notation and when you are using dot notation, then the field and the nested field must be inside the quotation marks.
Làm thế nào để tôi tìm thấy một yếu tố cụ thể trong một mảng trong MongoDB?Để truy vấn nếu trường mảng chứa ít nhất một phần tử có giá trị được chỉ định, hãy sử dụng bộ lọc {:} trong đó giá trị phần tử.Để chỉ định các điều kiện trên các phần tử trong trường Array, hãy sử dụng các toán tử truy vấn trong tài liệu bộ lọc truy vấn: {: {:, ...}}}use the filter {
Tìm thấy gì () làm trong MongoDB?Trong MongoDB, phương thức Find () được sử dụng để chọn các tài liệu trong bộ sưu tập và trả con trỏ cho các tài liệu đã chọn.select documents in a collection and return a cursor to the selected documents. |