Find only one field value in an array by match expression

Hello for all!

I’m new in mongosh, and I’m stuck in a task with finding value of field in array (only one element by match). I have data like:

[ { "key": 1, "obj": [ { "k": "hohoh", "v": "dododo" }, { "k": "nonon", "v": "tratata" }, { "k": "Descr", "v": "This is value What I Only NEED!" }, { "k": "bbzbzbzbzb", "v": "kkkO" }, ] }, { "key": 2, "obj": [ { "k": "hohoh", "v": "dododo" }, { "k": "nonon", "v": "tratata" }, { "k": "Descr", "v": "There is cool, but key = 2 and this value must be ignored" }, { "k": "bbzbzbzbzb", "v": "kkkO" }, ] } ]

I need query like SELECT obj.v WHERE key IS 1 AND obj.k IS “Descr”.
I try use query like that :

db.collection.find({ "key": 1, "obj": { "$elemMatch": { "k": "Descr" } } }, { "obj.v": 1 })
but there return fields obj.v from every element of array and I need value of obj.v in element where obj.k = Descr

I do not know if you can get just the v field but you can get the matching array element with the following projection.

{ "obj.$" : 1 }