Database
[{productName:"productB",productImage:"http://some.url/product_B.jpg",productCategoryId:34,productPrice:10},{productName:"productA",productImage:"http://some.url/product_A.jpg",productCategoryId:34,productPrice:50},{productName:"productC",productImage:"http://some.url/product_C.jpg",productCategoryId:134,productPrice:50},{productName:"productD",productImage:"http://some.url/product_D.jpg",productCategoryId:34,productPrice:10}]
Query
db.collection.aggregate([{"$match":{"productCategoryId":34}},{"$group":{"_id":"$productCategoryId","minprice":{"$min":"$productPrice"},data:{$push:"$$ROOT"}}},{$unwind:"$data"},{$match:{$expr:{$eq:["$data.productPrice","$minprice"]}}},{$replaceRoot:{newRoot:"$data"}}])