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,
the key is rewritten with dot notation (eg: 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