Computer >> Máy Tính >  >> Lập trình >> MongoDB

Tìm tài liệu có mảng chứa một giá trị cụ thể trong MongoDB

Bạn có thể sử dụng phương thức find () để tìm tài liệu có mảng chứa một giá trị cụ thể. Cú pháp như sau:

 db.yourCollectionName.find ({"yourArrayFieldName":"yourValue"}, ....... N) .pretty (); 

Để hiểu cú pháp trên, chúng ta hãy tạo một bộ sưu tập với các tài liệu. Truy vấn để tạo một bộ sưu tập với các tài liệu như sau:

> db.findSpecificValue.insertOne ({"StudentId":1, "StudentName":"Larry", "FavouriteSubject":["C", "C ++", "Java"]}); {"công nhận":true, "insertId":ObjectId ("5c6e8996140577d89182b8d0")}> db.findSpecificValue.insertOne ({"StudentId":2, "StudentName":"Larry", "FavouriteSubject":["MongoDB", "MySQL", " Máy chủ "]}); {" Recognition ":true," insertId ":ObjectId (" 5c6e89b1140577d89182b8d1 ")} 

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find (). Truy vấn như sau:

> db.findSpecificValue.find (). pretty (); 

Sau đây là kết quả:

 {"_id":ObjectId ("5c6e8996140577d89182b8d0"), "StudentId":1, "StudentName":"Larry", "FavouriteSubject":["C", "C ++", "Java"]} {"_id ":ObjectId (" 5c6e89b1140577d89182b8d1 ")," StudentId ":2," StudentName ":" Larry "," FavouriteSubject ":[" MongoDB "," MySQL "," SQL Server "]} 

Đây là truy vấn để tìm tài liệu có mảng chứa giá trị cụ thể, tức là “MongoDB” cho FavouriteSubject tại đây:

> db.findSpecificValue.find ({"FavouriteSubject":"MongoDB"}). pretty (); 

Sau đây là kết quả:

 {"_id":ObjectId ("5c6e89b1140577d89182b8d1"), "StudentId":2, "StudentName":"Larry", "FavouriteSubject":["MongoDB", "MySQL", "SQL Server"]}