Operator | Description | Example |
|---|---|---|
$literal | Allows the insertion of any literal value. This is used mainly when you'd like to use a value that would otherwise be evaluated as an expression. | pricesEqual: [{ $eq: [ "$cashValue", { $literal: "$10" } ] }] |
$string | Allows the insertion of a string literal. The value must be a string or an expression that evaluates to a string. | [{"$concat": ["c_pants", {"$string": "c_pants"}] } -> "clown c_pants" |
$number | Allows the insertion of a number value as a literal where a property name would otherwise be expected. The value must be a number or an expression that evaluates to a number. | [{"$add": ["c_scalar", {"$number": 1.23}] }] |
$integer | Allows the insertion of an integer value as a literal where a property name would otherwise be expected. The value must be an integer or an expression that evaluates to an integer. | [{"$add": ["c_ints", {"$integer": 10}] }] |
$boolean | Allows the insertion of a boolean value as a literal where a property name would otherwise be expected. The value must be a boolean or an expression that evaluates to a boolean. | [{"alwaysFirstName": {"$first": {"$cond": [{"$boolean": true}, "name.first", "name.last"]}}] |
$date | Allows the insertion of a date value as a literal where a property name would otherwise be expected. The value must be a date or an expression that evaluates to a date. | [{"offsetDate": {"$add": [{"$date": "2015-06-07T14:48:00.000Z"}, "c_offset"]}] |
$objectId | Allows the insertion of an objectId value as a literal where a property name would otherwise be expected. The value must be an objectId or an expression that evaluates to an objectId. | [{"$cmp": [{"$objectId": "561614700000000000000000"}, "_id"]}] |
$array | Allows the insertion of an array value as a literal where a property name would otherwise be expected. The value must be an array or an expression that evaluates to an array. | [{"$setUnion": [{"$array": ["000000000000000000000007"]}, "roles"]}] |
$object | Allows the insertion of an object value as a literal where a property name would otherwise be expected. The value must be an object or an expression that evaluates to an object. | [{"$eq": [{"$object": { "street": "Easy St" }}, "c_address"]}] |