function isHash(v) {
    var isArray = Array.isArray(v);
    var isObject = typeof v === 'object';
    var specialObject = v instanceof Date ||
                        v instanceof ObjectId ||
                        v instanceof BinData;
    return !specialObject && (isArray || isObject);
  }
//returns true, if object in argument may have nested objects and makes sense to analyse its content
returns true, if object in argument may have nested objects and makes sense to analyse its content
returns true if object in argument may have nested objects and makes sense to analyse its content
function isHash(v) {
    var isArray = Array.isArray(v);
    var isObject = typeof v === 'object';
    var specialObject = v instanceof Date ||
                        v instanceof ObjectId ||
                        v instanceof BinData;
    return !specialObject && (isArray || isObject);
  }
function isHash ( v ) { var isArray = Array . isArray ( v ) ; var isObject = typeof v === 'object' ; var specialObject = v instanceof Date || v instanceof ObjectId || v instanceof BinData ; return ! specialObject && ( isArray || isObject ) ; }
returns true, if object in argument may have nested objects and makes sense to analyse its content
returns true if object in argument may have nested objects and makes sense to analyse its content