Followup Question
Thanks @4J41 for your spot on resolution. Along the same lines, I'd also like to validate one other thing.
I have a mongo document that contains an array of Strings, and I need to convert this particular array of strings into an array of object containing a key-value pair. Below is my curent appraoch to it.
Mongo Record: Same mongo record in my initial question below.
Current Query:
templateAttributes.find({platform:"V1"}).map(function(c){
  //instantiate a new array
  var optionsArray = [];
for (var i=0;i< c['available']['Community']['attributes']['type']['values'].length; i++){
    optionsArray[i] = {};              // creates a new object
    optionsArray[i].label = c['available']['Community']['attributes']['type']['values'][i];
    optionsArray[i].value = c['available']['Community']['attributes']['type']['values'][i];
    }
    return optionsArray;
})[0];
Result:
[{label:"well-known", value:"well-known"},
{label:"simple", value:"simple"},
{label:"complex", value:"complex"}]
Is my approach efficient enough, or is there a way to optimize the above query to get the same desired result?
Initial Question
I have a mongo document like below:
{
    "_id" : ObjectId("57e3720836e36f63695a2ef2"),
    "platform" : "A1",
    "available" : {
        "Community" : {
            "attributes" : {
                "type" : {
                    "values" : [
                        "well-known",
                        "simple",
                        "complex"
                    ],
                    "defaultValue" : "well-known"
                },
[......]
}
I'm trying to query the DB and retrieve only the value of defaultValue field. 
I tried:
db.templateAttributes.find(
    { platform: "A1" },   
    { "available.Community.attributes.type.defaultValue": 1 }
)
as well as
db.templateAttributes.findOne(
    { platform: "A1" },    
    { "available.Community.attributes.type.defaultValue": 1 }
)
But they both seem to retrieve the entire object hirarchy like below:
{
    "_id" : ObjectId("57e3720836e36f63695a2ef2"),
    "available" : {
        "Community" : {
            "attributes" : {
                "type" : {
                    "defaultValue" : "well-known"
                }
            }
        }
    }
}
The only way I could get it to work was with find and map function, but it seems to be convoluted a bit.
Does anyone have a simpler way to get this result?
db.templateAttributes.find(
    { platform: "A1" },    
    { "available.Community.attributes.type.defaultValue": 1 }
).map(function(c){
    return c['available']['Community']['attributes']['type']['defaultValue']
})[0]
Output
well-known