Database

[{"parentId":1,"name":[{"language":"en-US","text":"Book"},{"language":"fr-CA","text":"livre"}],"isActive":true},{"parentId":1,"name":[{"language":"en-US","text":"Pen"}],"isActive":true},{"parentId":1,"name":[],"isActive":true}]

Query

db.collection.aggregate([{"$match":{"parentId":{"$eq":1}}},{"$set":{"name":{"$getField":{"field":"text","input":{"$reduce":{"input":"$name","initialValue":{},"in":{"$switch":{"branches":[{"case":{"$eq":["$$value.language","fr-CA"]},"then":"$$value"},{"case":{"$eq":["$$this.language","fr-CA"]},"then":"$$this"},{"case":{"$eq":["$$this.language","en-US"]},"then":"$$this"}],"default":"$$value"}}}}}}}},{"$match":{"$expr":{"$eq":[{"$type":"$name"},"string"]}}}])

Result