You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.5 KiB
72 lines
1.5 KiB
/*
|
|
Copyright 2020 The Qmgo Authors.
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package operator
|
|
|
|
// define the query and projection operators
|
|
// refer: https://docs.mongodb.com/manual/reference/operator/query/
|
|
const (
|
|
// Comparison
|
|
Eq = "$eq"
|
|
Gt = "$gt"
|
|
Gte = "$gte"
|
|
In = "$in"
|
|
Lt = "$lt"
|
|
Lte = "$lte"
|
|
Ne = "$ne"
|
|
Nin = "$nin"
|
|
|
|
// Logical
|
|
And = "$and"
|
|
Not = "$not"
|
|
Nor = "$nor"
|
|
Or = "$or"
|
|
|
|
// Element
|
|
Exists = "$exists"
|
|
Type = "$type"
|
|
|
|
// Evaluation
|
|
Expr = "$expr"
|
|
JsonSchema = "$jsonSchema"
|
|
Mod = "$mod"
|
|
Regex = "$regex"
|
|
Text = "$text"
|
|
Where = "$where"
|
|
|
|
// Geo spatial
|
|
GeoIntersects = "$geoIntersects"
|
|
GeoWithin = "$geoWithin"
|
|
Near = "$near"
|
|
NearSphere = "$nearSphere"
|
|
|
|
// Array
|
|
All = "$all"
|
|
ElemMatch = "$elemMatch"
|
|
Size = "$size"
|
|
|
|
// Bitwise
|
|
BitsAllClear = "$bitsAllClear"
|
|
BitsAllSet = "$bitsAllSet"
|
|
BitsAnyClear = "$bitsAnyClear"
|
|
BitsAnySet = "$bitsAnySet"
|
|
|
|
// Comments
|
|
Comment = "$comment"
|
|
|
|
// Projection operators
|
|
Dollar = "$"
|
|
Meta = "$meta"
|
|
Slice = "$slice"
|
|
)
|