Database

[{"_id":ObjectId("62aeb8301ed12a14a8873df1"),"Fields":[{"FieldId":"name","Value":["test_123"]},{"FieldId":"mobile","Value":["123"]},{"FieldId":"amount","Value":["300"]},{"FieldId":"discount","Value":null}]},{"_id":"negative case 1","Fields":[{"FieldId":"name","Value":["test_123"]},{"FieldId":"mobile","Value":["123"]},{"FieldId":"amount","Value":["abc"]},{"FieldId":"discount","Value":null}]},{"_id":"negative case 2","Fields":[{"FieldId":"name","Value":["test_123"]},{"FieldId":"mobile","Value":["123"]},{"FieldId":"amount","Value":["-2"]},{"FieldId":"discount","Value":null}]}]

Query

db.collection.aggregate([{"$match":{$expr:{"$anyElementTrue":{"$map":{"input":"$Fields","as":"f","in":{"$and":[{"$eq":["amount","$$f.FieldId"]},{$gt:[{"$convert":{"input":{"$first":"$$f.Value"},"to":"double","onError":0.0,"onNull":0.0}},0]}]}}}}}}])

Result