Queries objects in memory using a mongo-like notation for reaching into objects and filtering for records
- Source:
- License:
- MIT
Requires
- module:lodash
Classes
Members
(static) delimiter :string
- Source:
- Default Value:
- '.'
The delimiter to use when splitting an expression
Type:
- string
Methods
(static) all(obj, qu) → {boolean}
- Source:
Returns true if all items match the query
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute. See module:documents/probe.queryOperators for the operators you can use. |
Returns:
- Type
- boolean
(static) any(obj, qu) → {boolean}
- Source:
Returns true if any of the items match the query
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute. See module:documents/probe.queryOperators for the operators you can use. |
Returns:
- Type
- boolean
(static) every(obj, qu) → {boolean}
- Source:
Returns true if all items match the query. Aliases as all
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute |
Returns:
- Type
- boolean
(static) find(obj, qu) → {array}
- Source:
Find all records that match a query
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute. See module:documents/probe.queryOperators for the operators you can use. |
Returns:
The results
- Type
- array
(static) findKeys(obj, qu) → {array}
- Source:
Find 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. If obj
is an object it will return the hash key. If 'obj' is an array, it will return the index
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute. See module:documents/probe.queryOperators for the operators you can use. |
Returns:
- Type
- array
(static) findOne(obj, qu) → {object}
- Source:
Returns the first record that matches the query. Aliased as seek
.
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute. See module:documents/probe.queryOperators for the operators you can use. |
Returns:
- Type
- object
(static) findOneKey(obj, qu) → {object}
- Source:
Returns the first record that matches the query and returns its key or index depending on whether obj
is an object or array respectively.
Aliased as seekKey
.
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute. See module:documents/probe.queryOperators for the operators you can use. |
Returns:
- Type
- object
(static) get(path, record) → {*}
- Source:
Reaches 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 bindings
Parameters:
Name | Type | Description |
---|---|---|
path |
array | The split path of the element to work with |
record |
object | The record to reach into |
Returns:
Whatever was found in the record
- Type
- *
(static) mixin(obj, collection)
- Source:
Binds 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)
Parameters:
Name | Type | Description |
---|---|---|
obj |
object | array | The object or array to bind to |
collection |
object | array | If the collection is not the same as |
(static) proxy(obj) → {object}
- Source:
Binds 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)
Parameters:
Name | Type | Description |
---|---|---|
obj |
object | array | The object or array to bind to |
Returns:
An object with method bindings in place
- Type
- object
(static) remove(obj, qu) → {object|array}
- Source:
Remove all items in the object/array that match the query
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute. See module:documents/probe.queryOperators for the operators you can use. |
Returns:
The array or object as appropriate without the records.
- Type
- object | array
(static) set(path, record, setter, newValue)
- Source:
This 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.
Parameters:
Name | Type | Description |
---|---|---|
path |
array | The split path of the element to work with |
record |
object | The record to reach into |
setter |
string | The set operation. See module:documents/probe.updateOperators for the operators you can use. |
newValue |
object | The value to write to the, or if the operator is $pull, the query of items to look for |
(static) some(obj, qu) → {boolean}
- Source:
Returns true if any of the items match the query. Aliases as any
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute |
Returns:
- Type
- boolean
(static) unique(obj, qu) → {array}
- Source:
Returns the set of unique records that match a query
Parameters:
Name | Type | Description |
---|---|---|
obj |
array | object | The object to query |
qu |
object | The query to execute. See module:documents/probe.queryOperators for the operators you can use. |
Returns:
- Type
- array
(static) update(obj, qu, setDocument)
- Source:
Updates all records in obj that match the query. See module:documents/probe.updateOperators for the operators that are supported.
Parameters:
Name | Type | Description |
---|---|---|
obj |
object | array | The object to update |
qu |
object | The query which will be used to identify the records to updated |
setDocument |
object | The update operator. See module:documents/probe.updateOperators |