https://docs.mongodb.com/getting-started/shell/query/#specify-equality-conditions
https://docs.mongodb.com/v3.0/tutorial/project-fields-from-query-results/
https://docs.mongodb.com/manual/reference/method/db.collection.count/
https://docs.mongodb.com/manual/reference/operator/query/elemMatch/#op._S_elemMatch
(2b)
https://docs.mongodb.com/manual/mongo/
https://docs.mongodb.com/manual/reference/operator/query/size/
(2d)
//////////////////////////
https://docs.mongodb.com/manual/reference/method/db.collection.aggregate/
https://docs.mongodb.com/manual/reference/operator/aggregation/project/
https://docs.mongodb.com/manual/reference/method/cursor.toArray/
(model2-2b)
https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/ (Deconstructs an array field from the input documents to output a document for each element.)
https://docs.mongodb.com/manual/reference/operator/aggregation/group/ (Groups documents by some specified expression and outputs to the next stage a document for each distinct grouping.)
https://docs.mongodb.com/manual/reference/operator/aggregation/sum/ (Calculates and returns the sum of numeric values. $sum ignores non-numeric values.)
(model2-2c)