How do I filter subdocuments when querying MongoDB?

  mongodb, question

There is a document that contains a subdocument, roughly as follows:

{
 "_id" : ObjectId("59376b35a233be856d4a0731"),
 "plate_number": "jinga1111",
 "breakdown" : [
 {
 "file_id" : "4003732",
 "case_number" : "xxxx",
 "lev_code" : "B231",
 "crdate" : ISODate("2016-01-19T17:00:43Z")
 },
 {
 "file_id" : "4010523",
 "case_number" : "xxxx",
 "lev_code" : "B231",
 "crdate" : ISODate("2016-06-29T14:53:36Z")
 },
 {
 "file_id" : "4010980",
 "case_number" : "xxxx",
 "lev_code" : "B211",
 "crdate" : ISODate("2016-07-01T17:18:40Z")
 }
 ]
 }

The requirement now is how to use PHP 7 to query the number of matches according to plate_number & lev_code

Another problem is how to match the sub-documents that meet the criteria.

# mongo
 Find({plate_number: "jinga1111", breakdown.lev _ code: "b231"})
 {
 "breakdown" : [
 {
 "file_id" : "4003732",
 "case_number" : "xxxx",
 "lev_code" : "B231",
 "crdate" : ISODate("2016-01-19T17:00:43Z")
 },
 {
 "file_id" : "4010523",
 "case_number" : "xxxx",
 "lev_code" : "B231",
 "crdate" : ISODate("2016-06-29T14:53:36Z")
 },
 {
 "file_id" : "4010980",
 "case_number" : "xxxx",
 "lev_code" : "B211",
 "crdate" : ISODate("2016-07-01T17:18:40Z")
 }
 ]
 }

It is recommended to use MongoDB’s aggreation’s $filter:

https://docs.mongodb.com/mast …

Love MongoDB! Have fun!