Để truy vấn bên trong mảng và kiểm tra sự tồn tại để tính số lượng, hãy sử dụng $ being. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.demo296.insertOne( ... { ... "id":101, ... "Name":"Chris", ... "details":[ ... { ... SubjectId:[101,103], ... "SubjectName":["MySQL","MongoDB"] ... }, ... { ... SubjectId:[102,104], ... "SubjectName":["Java","C"] ... } ... ] ... } ...); { "acknowledged" : true, "insertedId" : ObjectId("5e4d51715d93261e4bc9ea3b") } > db.demo296.insertOne( ...{ ... "id":102, ... "Name":"David", ... "details":[ ... { ... SubjectId:[110,113] ... ... }, ... { ... SubjectId:[112,114] ... ... } ... ] ...} ...); { "acknowledged" : true, "insertedId" : ObjectId("5e4d519b5d93261e4bc9ea3c") } > db.demo296.insertOne( ... { ... "id":103, ... "Name":"Bob", ... "details":[ ... { ... "SubjectName":["C++","Python"] ... }, ... { ... "SubjectName":["Spring","Hibernate"] ... } ... ] ... } ...); { "acknowledged" : true, "insertedId" : ObjectId("5e4d52315d93261e4bc9ea3d") }
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 () -
> db.demo296.find();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e4d51715d93261e4bc9ea3b"), "id" : 101, "Name" : "Chris", "details" : [ { "SubjectId" : [ 101, 103 ], "SubjectName" : [ "MySQL", "MongoDB" ] }, { "SubjectId" : [ 102, 104 ], "SubjectName" : [ "Java", "C" ] } ] } { "_id" : ObjectId("5e4d519b5d93261e4bc9ea3c"), "id" : 102, "Name" : "David", "details" : [ { "SubjectId" : [ 110, 113 ] }, { "SubjectId" : [ 112, 114 ] } ] } { "_id" : ObjectId("5e4d52315d93261e4bc9ea3d"), "id" : 103, "Name" : "Bob", "details" : [ { "SubjectName" : [ "C++", "Python" ] }, { "SubjectName" : [ "Spring", "Hibernate" ] } ] }
Sau đây là cách truy vấn MongoDB bên trong các mảng và lấy số lượng -
> db.demo296.count( { 'details.SubjectName': {$exists: true }} );
Điều này sẽ tạo ra kết quả sau -
2