# Class: queryOperators

## documents/probe. queryOperators

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

#### new queryOperators()

  These are the supported query operators

  Source:
    - documents/probe.js, line 999

### Members

#### <static> $all

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

  Source:
    - documents/probe.js, line 389

  ##### Example

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

#### <static> $and

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

  Source:
    - documents/probe.js, line 579

  ##### Example

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

#### <static> $elemMatch

  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}}}`

  Source:
    - documents/probe.js, line 552

  ##### Example

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

#### <static> $eq

  `$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}}`

  Source:
    - documents/probe.js, line 347

  ##### Example

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

#### <static> $exists

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

  Source:
    - documents/probe.js, line 493

  ##### Example

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

#### <static> $gt

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

  Source:
    - documents/probe.js, line 409

  ##### Example

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

#### <static> $gte

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

  Source:
    - documents/probe.js, line 422

  ##### Example

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

#### <static> $in

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

  Source:
    - documents/probe.js, line 461

  ##### Example

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

#### <static> $lt

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

  Source:
    - documents/probe.js, line 435

  ##### Example

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

#### <static> $lte

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

  Source:
    - documents/probe.js, line 448

  ##### Example

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

#### <static> $mod

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

  Source:
    - documents/probe.js, line 506

  ##### Example

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

#### <static> $ne

  `$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}}`

  Source:
    - documents/probe.js, line 369

  ##### Example

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

#### <static> $nin

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

  Source:
    - documents/probe.js, line 477

  ##### Example

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

#### <static> $nor

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

  Source:
    - documents/probe.js, line 635

  ##### Example

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

#### <static> $not

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

  Source:
    - documents/probe.js, line 662

  ##### Example

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

#### <static> $or

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

  Source:
    - documents/probe.js, line 608

  ##### Example

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

#### <static> $regex

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

  Source:
    - documents/probe.js, line 538

  ##### Example

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

#### <static> $size

  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}}`

  Source:
    - documents/probe.js, line 525

  ##### Example

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