queryOperators

documents/probe. queryOperators

This is not actually a class, but an artifact of the documentation system

Constructor

new queryOperators()

Source:

These are the supported query operators

Members

(static) $all

Source:

$all checks to see if all of the members of the query are included in an array
{array: {$all: [val1, val2, val3]}}

Example
var probe = require("documents/probe");
probe.find( data, {"categories" : {$all : ["cat4", "cat2", "cat1"]}} );

(static) $and

Source:

Returns true if all of the conditions of the query are met
{$and: [query1, query2, query3]}

Example
var probe = require("documents/probe");
probe.find( data, {$and : [
     {"name.first" : "Mildred"},
     {"name.last" : "Graves"}
]} );

(static) $elemMatch

Source:

This is like $all except that it works with an array of objects or value. It checks to see the array matches all
of the conditions of the query
{array: {$elemMatch: {path: value, path: {$operation: value2}}}

Example
var probe = require("documents/probe");
probe.find( data, {attr : {$elemMatch : [
 {color : "red", "hand" : "left"}
]}} );

(static) $eq

Source:

$eq performs a === comparison by comparing the value directly if it is an atomic value.
otherwise if it is an array, it checks to see if the value looked for is in the array.
{field: value} or {field: {$eq : value}} or {array: value} or {array: {$eq : value}}

Example
var probe = require("documents/probe");
probe.find( data, {categories : "cat1"} );
// is the same as
probe.find( data, {categories : {$eq: "cat1"}} );

(static) $exists

Source:

$exists Sees if a field exists.
{field: {$exists: true|false}}

Example
var probe = require("documents/probe");
probe.find( data, {"name.middle" : {$exists : true}} );

(static) $gt

Source:

$gt Sees if a field is greater than the value
{field: {$gt: value}}

Example
var probe = require("documents/probe");
probe.find( data, {"age" : {$gt : 24}} );

(static) $gte

Source:

$gte Sees if a field is greater than or equal to the value
{field: {$gte: value}}

Example
var probe = require("documents/probe");
probe.find( data, {"age" : {$gte : 50}} );

(static) $in

Source:

$in Sees if a field has one of the values in the query
{field: {$in: [test1, test2, test3,...]}}

Example
var probe = require("documents/probe");
probe.find( data, {"age" : {$in : [24, 28, 60]}} );

(static) $lt

Source:

$lt Sees if a field is less than the value
{field: {$lt: value}}

Example
var probe = require("documents/probe");
probe.find( data, {"age" : {$lt : 24}} );

(static) $lte

Source:

$lte Sees if a field is less than or equal to the value
{field: {$lte: value}}

Example
var probe = require("documents/probe");
probe.find( data, {"age" : {$lte : 50}} );

(static) $mod

Source:

Checks equality to a modulus operation on a field
{field: {$mod: [divisor, remainder]}}

Example
var probe = require("documents/probe");
probe.find( data, {"age" : {$mod : [2, 0]}} );

(static) $ne

Source:

$ne performs a !== comparison by comparing the value directly if it is an atomic value. Otherwise, if it is an array
this is performs a "not in array".
'{field: {$ne : value}}or '{array: {$ne : value}}

Example
var probe = require("documents/probe");
probe.find( data, {"name.first" : {$ne : "Sheryl"}} );

(static) $nin

Source:

$nin Sees if a field has none of the values in the query
{field: {$nin: [test1, test2, test3,...]}}

Example
var probe = require("documents/probe");
probe.find( data, {"age" : {$nin : [24, 28, 60]}} );

(static) $nor

Source:

Returns true if none of the conditions of the query are met
{$nor: [query1, query2, query3]}

Example
var probe = require("documents/probe");
probe.find( data, {$nor : [
     {"age" : {$in : [24, 28, 60]}},
     {categories : "cat1"}
]} );

(static) $not

Source:

Logical NOT on the conditions of the query
{$not: [query1, query2, query3]}

Example
var probe = require("documents/probe");
probe.find( data, {$not : {"age" : {$lt : 24}}} );

(static) $or

Source:

Returns true if any of the conditions of the query are met
{$or: [query1, query2, query3]}

Example
var probe = require("documents/probe");
probe.find( data, {$or : [
     "age" : {$in : [24, 28, 60]}},
     {categories : "cat1"}
]} );

(static) $regex

Source:

Performs a regular expression test againts the field
{field: {$regex: re, $options: reOptions}}

Example
var probe = require("documents/probe");
probe.find( data, {"name.first" : {$regex : "m*", $options : "i"}} );

(static) $size

Source:

Compares the size of the field/array to the query. This can be used on arrays, strings and objects (where it will count keys)
{'field|array: {$size: value}}`

Example
var probe = require("documents/probe");
probe.find( data, {attr : {$size : 3}} );