mongo query API component
Component that implements the complete MongoDB query JSON API to operate on individual documents.
var query = require('mongo-query');
// our sample document
var obj = {
name: 'Tobi',
age: 8,
location: { country: 'Canada', zip: 123 },
likes: [{ id: 1, name: 'Food' }, { id: 2, name: 'Stuff' }]
};
// run an operation and get changes
var changes = query(obj, { $set: { 'location.country': 'US' } });
change
objects.
modifier
on obj
provided they match filter
.strict
if true, only modifies if filter
has a match (false
).Returns a Query
object to perform tests on.
Example: query.filter({ a: { $gt: 3 } }).test({ a: 1 })
. For the
complete filter API refer to
filtr.
Gets the key
from the given obj
, which can use dot
notation.
Example: query.get(obj, 'some.key')
.
Sets the key
on obj
with the given val
. Key can use dot
notation.
All change objects contain:
key
: the key that was affected. If the positional operator was used,comments.3.date
).op
: the type of operation that was performedDepending on the type of operation they can contain extra fields.
value
that we setvalue
value that we increment byvalue
value that was poppedshift
if true, it was a shift instead of a popvalue
new namevalue
value that was pushedvalue
array of values that were pushedvalue
array of values that were pulledvalue
array of values that were pulledvalue
(undefined
)value
array of values that were added