mongoParse.js
function parseFieldOperator(field, operator, operand) {
    if(operator === '$elemMatch') {
        var elemMatchInfo = parseElemMatch(operand)
        var innerParts = elemMatchInfo.parts
        var implicitField = elemMatchInfo.implicitField
    } else if(operator === '$not') {
        var innerParts = parseNot(field, operand)
    } else {
        var innerParts = []
    }
    return new Part(field, operator, operand, innerParts, implicitField)
}
function parseFieldOperator(field, operator, operand) {
    if(operator === '$elemMatch') {
        var elemMatchInfo = parseElemMatch(operand)
        var innerParts = elemMatchInfo.parts
        var implicitField = elemMatchInfo.implicitField
    } else if(operator === '$not') {
        var innerParts = parseNot(field, operand)
    } else {
        var innerParts = []
    }
    return new Part(field, operator, operand, innerParts, implicitField)
}
function parseFieldOperator ( field , operator , operand ) { if ( operator === '$elemMatch' ) { var elemMatchInfo = parseElemMatch ( operand ) var innerParts = elemMatchInfo . parts var implicitField = elemMatchInfo . implicitField } else if ( operator === '$not' ) { var innerParts = parseNot ( field , operand ) } else { var innerParts = [ ] } return new Part ( field , operator , operand , innerParts , implicitField ) }
returns a Part object
returns a Part object