Database

[{"collection":"collection","count":100,"content":{"name":{"type":"enum","values":["a","b","c","d","e"]},"name_1":{"type":"enum","values":["a","b","c","d","e"]},"utc":{"type":"enum","values":[1,2,3,4,5,6,7,8,9]},"description":{"type":"enum","values":["Coffee and cakes","Gourmet hamburgers","Just coffee","Discount clothing","Indonesian goods"]},"description_2":{"type":"enum","values":["Coffee and cakes","Gourmet hamburgers","Just coffee","Discount clothing","Indonesian goods"]}},"indexes":[{"name":"description_text_idx","key":{"name":1,"utc":1,"description":1}},{"name":"description_text_idx_2","key":{"name":1,"utc":1,"description_2":1}},{"name":"description_text_idx_3","key":{"name_1":1,"utc":1,"description":1}},{"name":"description_text_idx_4","key":{"name_1":1,"utc":1,"description_2":1}}]}]

Query

db.collection.aggregate([{$match:{$and:[{$or:[{name:"a"},{name_1:"b"}]},{$or:[{description:{$regex:"and"}},{description_2:{$regex:"goo"}}]}]}},{$sort:{timestamp_utc:-1}},{$skip:10},{$limit:100}]).explain()

Result