new documents/model()

Description

A model is the first level if usable data-bearing entity in the system. It does NOT include any verbs for saving or anything like
that, it is a pure, in memory data container

Details

Members


<private> _idField :string

Description

The name of the field that uniquely identifies a record. When provided, some operations will take advantage of it

Details
string

<private> _pkey :*

Description

The value of the primary key if documents/model#_idField is filled in. It will be null if none found

Details
*

isNew :boolean

Description

If documents/model#_idField is filled in and it's value is empty this will be true.

Details
boolean

isEmpty :boolean

Description

Returns true if this instance is empty

Details
boolean

Methods


<static> get( path, record ) → {*}

Description

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

Details

<static> set( path, record, setter, newValue )

Description

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

Details

<static> any( obj, qu ) → {boolean}

Description

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
Details

<static> all( obj, qu ) → {boolean}

Description

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
Details

<static> remove( obj, qu ) → {object|array}

Description

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.

Details

<static> findOne( obj, qu ) → {object}

Description

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
Details

<static> findOneKey( obj, qu ) → {object}

Description

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
Details

<static> findKeys( obj, qu ) → {array}

Description

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
Details

<static> find( obj, qu ) → {array}

Description

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

Details

<static> update( obj, qu, setDocument )

Description

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

Details

<static> some( obj, qu ) → {boolean}

Description

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
Details

<static> every( obj, qu ) → {boolean}

Description

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
Details