| 79 | } |
| 80 | } |
| 81 | |
| 82 | pub fn expression_binary_op_key(value: BinaryOpType) -> &'static str { |
| 83 | let result = match value { |
| 84 | BinaryOpType::Indexing => "$arrayElemAt", |
| 85 | BinaryOpType::Cast => "", |
| 86 | BinaryOpType::Multiplication => "$multiply", |
| 87 | BinaryOpType::Division => "$divide", |
| 88 | BinaryOpType::Remainder => "$mod", |
| 89 | BinaryOpType::Addition => "$add", |
| 90 | BinaryOpType::Subtraction => "$subtract", |
| 91 | BinaryOpType::ShiftLeft => "", |
| 92 | BinaryOpType::ShiftRight => "", |
| 93 | BinaryOpType::BitwiseAnd => "$bitAnd", |
| 94 | BinaryOpType::BitwiseOr => "$bitOr", |
| 95 | BinaryOpType::In => "$in", |
| 96 | BinaryOpType::NotIn => "$nin", |
| 97 | BinaryOpType::Is => "$eq", |
| 98 | BinaryOpType::IsNot => "$ne", |
| 99 | BinaryOpType::Like => "", |
| 100 | BinaryOpType::NotLike => "", |
| 101 | BinaryOpType::Regexp => "$regexMatch", |
| 102 | BinaryOpType::NotRegexp => "", |
| 103 | BinaryOpType::Glob => "", |
| 104 | BinaryOpType::NotGlob => "", |
| 105 | BinaryOpType::Equal => "$eq", |
| 106 | BinaryOpType::NotEqual => "$ne", |
| 107 | BinaryOpType::Less => "$lt", |
| 108 | BinaryOpType::Greater => "$gt", |
| 109 | BinaryOpType::LessEqual => "$lte", |
| 110 | BinaryOpType::GreaterEqual => "$gte", |
| 111 | BinaryOpType::And => "$and", |
| 112 | BinaryOpType::Or => "$or", |
| 113 | BinaryOpType::Alias => "", |
| 114 | }; |
| 115 | if result.is_empty() { |
| 116 | log::error!("MongoDB does not support {value:?} binary operator"); |
| 117 | } |
| 118 | result |
| 119 | } |
| 120 | } |
| 121 | |