Classes
Members
- 
			<private, inner> nestedOps :array.<string>
- 
	DescriptionThe list of operators that are nested within the expression object. These take the form {path:{operator:operand}}Details
- 
			<private, inner> prefixOps :array.<string>
- 
	DescriptionThe list of operators that prefix the expression object. These take the form {operator:{operands}}or{operator: [operands]}Details
- 
			<static> delimiter :string
- 
	DescriptionThe delimiter to use when splitting an expression Details
- 
			<private, inner> operations
- 
	DescriptionThe query operations that evaluate directly from an operation Details
Methods
- 
			<private, inner> processNestedOperator( path, operand ) → {object}
- 
	DescriptionProcesses a nested operator by picking the operator out of the expression object. Returns a formatted object that can be used for querying ParametersName Type Description pathstring The path to element to work with operandobject The operands to use for the query ReturnsDetails
- 
			<private, inner> processExpressionObject( val, key ) → {object}
- 
	DescriptionInterrogates a single query expression object and calls the appropriate handler for its contents ParametersName Type Description valobject The expression keyobject The prefix ReturnsDetails
- 
			<private, inner> processPrefixOperator( operation, operand ) → {object}
- 
	DescriptionProcesses a prefixed operator and then passes control to the nested operator method to pick out the contained values ParametersName Type Description operationstring The operation prefix operandobject The operands to use for the query ReturnsDetails
- 
			<private, inner> parseQueryExpression( obj ) → {object}
- 
	DescriptionParses a query request and builds an object that can used to process a query target ParametersName Type Description objobject The expression object ReturnsDetails
- 
			<private, inner> splitPath( path ) → {array}
- 
	DescriptionSplits a path expression into its component parts ParametersName Type Description pathstring The path to split ReturnsDetails
- 
			<private, inner> reachin( path, record ) → {*}
- 
	DescriptionReaches into an object and allows you to get at a value deeply nested in an object ParametersName Type Description patharray The split path of the element to work with recordobject The record to reach into ReturnsDetails
- 
			<private, inner> pushin( path, record, setter, newValue )
- 
	DescriptionThis will write the value into a record at the path, creating intervening objects if they don't exist ParametersName Type Description patharray The split path of the element to work with recordobject The record to reach into setterstring The set command, defaults to $set newValueobject The value to write to the, or if the operator is $pull, the query of items to look for Details
- 
			<private, inner> execQuery( obj, qu, shortCircuit, stopOnFirst )
- 
	DescriptionExecutes a query by traversing a document and evaluating each record ParametersName Type Attributes Description objarray | object The object to query quobject The query to execute shortCircuitboolean <nullable> When true, the condition that matches the query stops evaluation for that record, otherwise all conditions have to be met stopOnFirstboolean <nullable> When true all evaluation stops after the first record is found to match the conditons Details
- 
			<static> update( obj, qu, setDocument )
- 
	DescriptionUpdates all records in obj that match the query. See module:documents/probe.updateOperators for the operators that are supported. ParametersName Type Description objobject | array The object to update quobject The query which will be used to identify the records to updated setDocumentobject The update operator. See module:documents/probe.updateOperators Details
- 
			<static> find( obj, qu ) → {array}
- 
	DescriptionFind all records that match a query ParametersName Type Description objarray | object The object to query quobject The query to execute. See module:documents/probe.queryOperators for the operators you can use. ReturnsDetails
- 
			<static> findKeys( obj, qu ) → {array}
- 
	DescriptionFind all records that match a query and returns the keys for those items. This is similar to module:documents/probe.find but instead of returning 
 records, returns the keys. Ifobjis an object it will return the hash key. If 'obj' is an array, it will return the indexParametersName Type Description objarray | object The object to query quobject The query to execute. See module:documents/probe.queryOperators for the operators you can use. ReturnsDetails
- 
			<static> findOne( obj, qu ) → {object}
- 
	DescriptionReturns the first record that matches the query. Aliased as seek.ParametersName Type Description objarray | object The object to query quobject The query to execute. See module:documents/probe.queryOperators for the operators you can use. ReturnsDetails
- 
			<static> findOneKey( obj, qu ) → {object}
- 
	DescriptionReturns the first record that matches the query and returns its key or index depending on whether objis an object or array respectively.
 Aliased asseekKey.ParametersName Type Description objarray | object The object to query quobject The query to execute. See module:documents/probe.queryOperators for the operators you can use. ReturnsDetails
- 
			<static> remove( obj, qu ) → {object|array}
- 
	DescriptionRemove all items in the object/array that match the query ParametersName Type Description objarray | object The object to query quobject The query to execute. See module:documents/probe.queryOperators for the operators you can use. ReturnsDetails
- 
			<static> all( obj, qu ) → {boolean}
- 
	DescriptionReturns true if all items match the query ParametersName Type Description objarray | object The object to query quobject The query to execute. See module:documents/probe.queryOperators for the operators you can use. ReturnsDetails
- 
			<static> any( obj, qu ) → {boolean}
- 
	DescriptionReturns true if any of the items match the query ParametersName Type Description objarray | object The object to query quobject The query to execute. See module:documents/probe.queryOperators for the operators you can use. ReturnsDetails
- 
			<static> unique( obj, qu ) → {array}
- 
	DescriptionReturns the set of unique records that match a query ParametersName Type Description objarray | object The object to query quobject The query to execute. See module:documents/probe.queryOperators for the operators you can use. ReturnsDetails
- 
			<static> set( path, record, setter, newValue )
- 
	DescriptionThis will write the value into a record at the path, creating intervening objects if they don't exist. This does not work as filtered 
 update and is meant to be used on a single record. It is a nice way of setting a property at an arbitrary depth at will.ParametersName Type Description patharray The split path of the element to work with recordobject The record to reach into setterstring The set operation. See module:documents/probe.updateOperators for the operators you can use. newValueobject The value to write to the, or if the operator is $pull, the query of items to look for Details
- 
			<static> get( path, record ) → {*}
- 
	DescriptionReaches into an object and allows you to get at a value deeply nested in an object. This is not a query, but a 
 straight reach in, useful for event bindingsParametersName Type Description patharray The split path of the element to work with recordobject The record to reach into ReturnsDetails
- 
			<static> some( obj, qu ) → {boolean}
- 
	DescriptionReturns true if any of the items match the query. Aliases as anyParametersName Type Description objarray | object The object to query quobject The query to execute ReturnsDetails
- 
			<static> every( obj, qu ) → {boolean}
- 
	DescriptionReturns true if all items match the query. Aliases as allParametersName Type Description objarray | object The object to query quobject The query to execute ReturnsDetails
- 
			<static> proxy( obj ) → {object}
- 
	DescriptionBinds the query and update methods to a new object. When called these 
 methods can skip the first parameter so that find(object, query) can just be called as find(query)ParametersName Type Description objobject | array The object or array to bind to ReturnsDetails
- 
			<static> mixin( obj, collection )
- 
	DescriptionBinds the query and update methods to a specific object and adds the methods to that object. When called these 
 methods can skip the first parameter so that find(object, query) can just be called as object.find(query)ParametersName Type Description objobject | array The object or array to bind to collectionobject | array If the collection is not the same as thisbut is a property, or even
 a whole other object, you specify that here. Otherwise theobjis assumed to be the same as the collecionDetails