userver: userver/storages/mongo/operators.hpp Source File
Loading...
Searching...
No Matches
operators.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/storages/mongo/operators.hpp
4/// @brief MongoDB query, update, and aggregation operators
5
6#include <userver/utils/string_literal.hpp>
7
8USERVER_NAMESPACE_BEGIN
9
10/// MongoDB query, update, and aggregation operators for constructing BSON documents.
11///
12/// Availability of individual operators depends on the MongoDB server version and deployment type.
13namespace storages::mongo::operators {
14
15inline constexpr utils::StringLiteral kPositional = "$";
16inline constexpr utils::StringLiteral kAllPositional = "$[]";
17inline constexpr utils::StringLiteral kAbs = "$abs";
18inline constexpr utils::StringLiteral kAccumulator = "$accumulator";
19inline constexpr utils::StringLiteral kAcos = "$acos";
20inline constexpr utils::StringLiteral kAcosh = "$acosh";
21inline constexpr utils::StringLiteral kAdd = "$add";
22inline constexpr utils::StringLiteral kAddFields = "$addFields";
23inline constexpr utils::StringLiteral kAddToSet = "$addToSet";
24inline constexpr utils::StringLiteral kAll = "$all";
25inline constexpr utils::StringLiteral kAllElementsTrue = "$allElementsTrue";
26inline constexpr utils::StringLiteral kAnd = "$and";
27inline constexpr utils::StringLiteral kAnyElementTrue = "$anyElementTrue";
28inline constexpr utils::StringLiteral kArrayElemAt = "$arrayElemAt";
29inline constexpr utils::StringLiteral kArrayToObject = "$arrayToObject";
30inline constexpr utils::StringLiteral kAsin = "$asin";
31inline constexpr utils::StringLiteral kAsinh = "$asinh";
32inline constexpr utils::StringLiteral kAtan = "$atan";
33inline constexpr utils::StringLiteral kAtan2 = "$atan2";
34inline constexpr utils::StringLiteral kAtanh = "$atanh";
35inline constexpr utils::StringLiteral kAvg = "$avg";
36inline constexpr utils::StringLiteral kBinarySize = "$binarySize";
37inline constexpr utils::StringLiteral kBit = "$bit";
38inline constexpr utils::StringLiteral kBitAnd = "$bitAnd";
39inline constexpr utils::StringLiteral kBitNot = "$bitNot";
40inline constexpr utils::StringLiteral kBitOr = "$bitOr";
41inline constexpr utils::StringLiteral kBitsAllClear = "$bitsAllClear";
42inline constexpr utils::StringLiteral kBitsAllSet = "$bitsAllSet";
43inline constexpr utils::StringLiteral kBitsAnyClear = "$bitsAnyClear";
44inline constexpr utils::StringLiteral kBitsAnySet = "$bitsAnySet";
45inline constexpr utils::StringLiteral kBitXor = "$bitXor";
46inline constexpr utils::StringLiteral kBottom = "$bottom";
47inline constexpr utils::StringLiteral kBottomN = "$bottomN";
48inline constexpr utils::StringLiteral kBox = "$box";
49inline constexpr utils::StringLiteral kBsonSize = "$bsonSize";
50inline constexpr utils::StringLiteral kBucket = "$bucket";
51inline constexpr utils::StringLiteral kBucketAuto = "$bucketAuto";
52inline constexpr utils::StringLiteral kCaseSensitive = "$caseSensitive";
53inline constexpr utils::StringLiteral kCeil = "$ceil";
54inline constexpr utils::StringLiteral kCenter = "$center";
55inline constexpr utils::StringLiteral kCenterSphere = "$centerSphere";
56inline constexpr utils::StringLiteral kChangeStream = "$changeStream";
57inline constexpr utils::StringLiteral kChangeStreamSplitLargeEvent = "$changeStreamSplitLargeEvent";
58inline constexpr utils::StringLiteral kCmp = "$cmp";
59inline constexpr utils::StringLiteral kCollStats = "$collStats";
60inline constexpr utils::StringLiteral kComment = "$comment";
61inline constexpr utils::StringLiteral kConcat = "$concat";
62inline constexpr utils::StringLiteral kConcatArrays = "$concatArrays";
63inline constexpr utils::StringLiteral kCond = "$cond";
64inline constexpr utils::StringLiteral kConst = "$const";
65inline constexpr utils::StringLiteral kConvert = "$convert";
66inline constexpr utils::StringLiteral kCos = "$cos";
67inline constexpr utils::StringLiteral kCosh = "$cosh";
68inline constexpr utils::StringLiteral kCount = "$count";
69inline constexpr utils::StringLiteral kCovariancePop = "$covariancePop";
70inline constexpr utils::StringLiteral kCovarianceSamp = "$covarianceSamp";
71inline constexpr utils::StringLiteral kCreateObjectId = "$createObjectId";
72inline constexpr utils::StringLiteral kCurrentDate = "$currentDate";
73inline constexpr utils::StringLiteral kCurrentOp = "$currentOp";
74inline constexpr utils::StringLiteral kDateAdd = "$dateAdd";
75inline constexpr utils::StringLiteral kDateDiff = "$dateDiff";
76inline constexpr utils::StringLiteral kDateFromParts = "$dateFromParts";
77inline constexpr utils::StringLiteral kDateFromString = "$dateFromString";
78inline constexpr utils::StringLiteral kDateSubtract = "$dateSubtract";
79inline constexpr utils::StringLiteral kDateToParts = "$dateToParts";
80inline constexpr utils::StringLiteral kDateToString = "$dateToString";
81inline constexpr utils::StringLiteral kDateTrunc = "$dateTrunc";
82inline constexpr utils::StringLiteral kDayOfMonth = "$dayOfMonth";
83inline constexpr utils::StringLiteral kDayOfWeek = "$dayOfWeek";
84inline constexpr utils::StringLiteral kDayOfYear = "$dayOfYear";
85inline constexpr utils::StringLiteral kDegreesToRadians = "$degreesToRadians";
86inline constexpr utils::StringLiteral kDenseRank = "$denseRank";
87inline constexpr utils::StringLiteral kDensify = "$densify";
88inline constexpr utils::StringLiteral kDerivative = "$derivative";
89inline constexpr utils::StringLiteral kDiacriticSensitive = "$diacriticSensitive";
90inline constexpr utils::StringLiteral kDivide = "$divide";
91inline constexpr utils::StringLiteral kDocumentNumber = "$documentNumber";
92inline constexpr utils::StringLiteral kDocuments = "$documents";
93inline constexpr utils::StringLiteral kEach = "$each";
94inline constexpr utils::StringLiteral kElemMatch = "$elemMatch";
95inline constexpr utils::StringLiteral kEncStrContains = "$encStrContains";
96inline constexpr utils::StringLiteral kEncStrEndsWith = "$encStrEndsWith";
97inline constexpr utils::StringLiteral kEncStrNormalizedEq = "$encStrNormalizedEq";
98inline constexpr utils::StringLiteral kEncStrStartsWith = "$encStrStartsWith";
99inline constexpr utils::StringLiteral kEq = "$eq";
100inline constexpr utils::StringLiteral kExists = "$exists";
101inline constexpr utils::StringLiteral kExp = "$exp";
102inline constexpr utils::StringLiteral kExpMovingAvg = "$expMovingAvg";
103inline constexpr utils::StringLiteral kExpr = "$expr";
104inline constexpr utils::StringLiteral kFacet = "$facet";
105inline constexpr utils::StringLiteral kFill = "$fill";
106inline constexpr utils::StringLiteral kFilter = "$filter";
107inline constexpr utils::StringLiteral kFirst = "$first";
108inline constexpr utils::StringLiteral kFirstN = "$firstN";
109inline constexpr utils::StringLiteral kFloor = "$floor";
110inline constexpr utils::StringLiteral kFunction = "$function";
111inline constexpr utils::StringLiteral kGeoIntersects = "$geoIntersects";
112inline constexpr utils::StringLiteral kGeometry = "$geometry";
113inline constexpr utils::StringLiteral kGeoNear = "$geoNear";
114inline constexpr utils::StringLiteral kGeoWithin = "$geoWithin";
115inline constexpr utils::StringLiteral kGetField = "$getField";
116inline constexpr utils::StringLiteral kGraphLookup = "$graphLookup";
117inline constexpr utils::StringLiteral kGroup = "$group";
118inline constexpr utils::StringLiteral kGt = "$gt";
119inline constexpr utils::StringLiteral kGte = "$gte";
120inline constexpr utils::StringLiteral kHash = "$hash";
121inline constexpr utils::StringLiteral kHexHash = "$hexHash";
122inline constexpr utils::StringLiteral kHour = "$hour";
123inline constexpr utils::StringLiteral kIfNull = "$ifNull";
124inline constexpr utils::StringLiteral kIn = "$in";
125inline constexpr utils::StringLiteral kInc = "$inc";
126inline constexpr utils::StringLiteral kIndexOfArray = "$indexOfArray";
127inline constexpr utils::StringLiteral kIndexOfBytes = "$indexOfBytes";
128inline constexpr utils::StringLiteral kIndexOfCP = "$indexOfCP";
129inline constexpr utils::StringLiteral kIndexStats = "$indexStats";
130inline constexpr utils::StringLiteral kIntegral = "$integral";
131inline constexpr utils::StringLiteral kIsArray = "$isArray";
132inline constexpr utils::StringLiteral kIsNumber = "$isNumber";
133inline constexpr utils::StringLiteral kIsoDayOfWeek = "$isoDayOfWeek";
134inline constexpr utils::StringLiteral kIsoWeek = "$isoWeek";
135inline constexpr utils::StringLiteral kIsoWeekYear = "$isoWeekYear";
136inline constexpr utils::StringLiteral kJsonSchema = "$jsonSchema";
137inline constexpr utils::StringLiteral kLanguage = "$language";
138inline constexpr utils::StringLiteral kLast = "$last";
139inline constexpr utils::StringLiteral kLastN = "$lastN";
140inline constexpr utils::StringLiteral kLet = "$let";
141inline constexpr utils::StringLiteral kLimit = "$limit";
142inline constexpr utils::StringLiteral kLinearFill = "$linearFill";
143inline constexpr utils::StringLiteral kListClusterCatalog = "$listClusterCatalog";
144inline constexpr utils::StringLiteral kListLocalSessions = "$listLocalSessions";
145inline constexpr utils::StringLiteral kListSampledQueries = "$listSampledQueries";
146inline constexpr utils::StringLiteral kListSearchIndexes = "$listSearchIndexes";
147inline constexpr utils::StringLiteral kListSessions = "$listSessions";
148inline constexpr utils::StringLiteral kLiteral = "$literal";
149inline constexpr utils::StringLiteral kLn = "$ln";
150inline constexpr utils::StringLiteral kLocf = "$locf";
151inline constexpr utils::StringLiteral kLog = "$log";
152inline constexpr utils::StringLiteral kLog10 = "$log10";
153inline constexpr utils::StringLiteral kLookup = "$lookup";
154inline constexpr utils::StringLiteral kLt = "$lt";
155inline constexpr utils::StringLiteral kLte = "$lte";
156inline constexpr utils::StringLiteral kLtrim = "$ltrim";
157inline constexpr utils::StringLiteral kMap = "$map";
158inline constexpr utils::StringLiteral kMatch = "$match";
159inline constexpr utils::StringLiteral kMax = "$max";
160inline constexpr utils::StringLiteral kMaxDistance = "$maxDistance";
161inline constexpr utils::StringLiteral kMaxN = "$maxN";
162inline constexpr utils::StringLiteral kMedian = "$median";
163inline constexpr utils::StringLiteral kMerge = "$merge";
164inline constexpr utils::StringLiteral kMergeObjects = "$mergeObjects";
165inline constexpr utils::StringLiteral kMeta = "$meta";
166inline constexpr utils::StringLiteral kMillisecond = "$millisecond";
167inline constexpr utils::StringLiteral kMin = "$min";
168inline constexpr utils::StringLiteral kMinDistance = "$minDistance";
169inline constexpr utils::StringLiteral kMinMaxScaler = "$minMaxScaler";
170inline constexpr utils::StringLiteral kMinN = "$minN";
171inline constexpr utils::StringLiteral kMinute = "$minute";
172inline constexpr utils::StringLiteral kMod = "$mod";
173inline constexpr utils::StringLiteral kMonth = "$month";
174inline constexpr utils::StringLiteral kMul = "$mul";
175inline constexpr utils::StringLiteral kMultiply = "$multiply";
176inline constexpr utils::StringLiteral kNatural = "$natural";
177inline constexpr utils::StringLiteral kNe = "$ne";
178inline constexpr utils::StringLiteral kNear = "$near";
179inline constexpr utils::StringLiteral kNearSphere = "$nearSphere";
180inline constexpr utils::StringLiteral kNin = "$nin";
181inline constexpr utils::StringLiteral kNor = "$nor";
182inline constexpr utils::StringLiteral kNot = "$not";
183inline constexpr utils::StringLiteral kObjectToArray = "$objectToArray";
184inline constexpr utils::StringLiteral kOptions = "$options";
185inline constexpr utils::StringLiteral kOr = "$or";
186inline constexpr utils::StringLiteral kOut = "$out";
187inline constexpr utils::StringLiteral kPercentile = "$percentile";
188inline constexpr utils::StringLiteral kPlanCacheStats = "$planCacheStats";
189inline constexpr utils::StringLiteral kPolygon = "$polygon";
190inline constexpr utils::StringLiteral kPop = "$pop";
191inline constexpr utils::StringLiteral kPosition = "$position";
192inline constexpr utils::StringLiteral kPow = "$pow";
193inline constexpr utils::StringLiteral kProject = "$project";
194inline constexpr utils::StringLiteral kPull = "$pull";
195inline constexpr utils::StringLiteral kPullAll = "$pullAll";
196inline constexpr utils::StringLiteral kPush = "$push";
197inline constexpr utils::StringLiteral kQuerySettings = "$querySettings";
198inline constexpr utils::StringLiteral kQueryStats = "$queryStats";
199inline constexpr utils::StringLiteral kRadiansToDegrees = "$radiansToDegrees";
200inline constexpr utils::StringLiteral kRand = "$rand";
201inline constexpr utils::StringLiteral kRange = "$range";
202inline constexpr utils::StringLiteral kRank = "$rank";
203inline constexpr utils::StringLiteral kRankFusion = "$rankFusion";
204inline constexpr utils::StringLiteral kRedact = "$redact";
205inline constexpr utils::StringLiteral kReduce = "$reduce";
206inline constexpr utils::StringLiteral kRegex = "$regex";
207inline constexpr utils::StringLiteral kRegexFind = "$regexFind";
208inline constexpr utils::StringLiteral kRegexFindAll = "$regexFindAll";
209inline constexpr utils::StringLiteral kRegexMatch = "$regexMatch";
210inline constexpr utils::StringLiteral kRename = "$rename";
211inline constexpr utils::StringLiteral kReplaceAll = "$replaceAll";
212inline constexpr utils::StringLiteral kReplaceOne = "$replaceOne";
213inline constexpr utils::StringLiteral kReplaceRoot = "$replaceRoot";
214inline constexpr utils::StringLiteral kReplaceWith = "$replaceWith";
215inline constexpr utils::StringLiteral kRerank = "$rerank";
216inline constexpr utils::StringLiteral kReverseArray = "$reverseArray";
217inline constexpr utils::StringLiteral kRound = "$round";
218inline constexpr utils::StringLiteral kRtrim = "$rtrim";
219inline constexpr utils::StringLiteral kSample = "$sample";
220inline constexpr utils::StringLiteral kSampleRate = "$sampleRate";
221inline constexpr utils::StringLiteral kScore = "$score";
222inline constexpr utils::StringLiteral kScoreFusion = "$scoreFusion";
223inline constexpr utils::StringLiteral kSearch = "$search";
224inline constexpr utils::StringLiteral kSearchMeta = "$searchMeta";
225inline constexpr utils::StringLiteral kSecond = "$second";
226inline constexpr utils::StringLiteral kSet = "$set";
227inline constexpr utils::StringLiteral kSetDifference = "$setDifference";
228inline constexpr utils::StringLiteral kSetEquals = "$setEquals";
229inline constexpr utils::StringLiteral kSetField = "$setField";
230inline constexpr utils::StringLiteral kSetIntersection = "$setIntersection";
231inline constexpr utils::StringLiteral kSetIsSubset = "$setIsSubset";
232inline constexpr utils::StringLiteral kSetOnInsert = "$setOnInsert";
233inline constexpr utils::StringLiteral kSetUnion = "$setUnion";
234inline constexpr utils::StringLiteral kSetWindowFields = "$setWindowFields";
235inline constexpr utils::StringLiteral kShift = "$shift";
236inline constexpr utils::StringLiteral kSigmoid = "$sigmoid";
237inline constexpr utils::StringLiteral kSimilarityCosine = "$similarityCosine";
238inline constexpr utils::StringLiteral kSimilarityDotProduct = "$similarityDotProduct";
239inline constexpr utils::StringLiteral kSimilarityEuclidean = "$similarityEuclidean";
240inline constexpr utils::StringLiteral kSin = "$sin";
241inline constexpr utils::StringLiteral kSinh = "$sinh";
242inline constexpr utils::StringLiteral kSize = "$size";
243inline constexpr utils::StringLiteral kSkip = "$skip";
244inline constexpr utils::StringLiteral kSlice = "$slice";
245inline constexpr utils::StringLiteral kSort = "$sort";
246inline constexpr utils::StringLiteral kSortArray = "$sortArray";
247inline constexpr utils::StringLiteral kSortByCount = "$sortByCount";
248inline constexpr utils::StringLiteral kSplit = "$split";
249inline constexpr utils::StringLiteral kSqrt = "$sqrt";
250inline constexpr utils::StringLiteral kStdDevPop = "$stdDevPop";
251inline constexpr utils::StringLiteral kStdDevSamp = "$stdDevSamp";
252inline constexpr utils::StringLiteral kStrcasecmp = "$strcasecmp";
253inline constexpr utils::StringLiteral kStrLenBytes = "$strLenBytes";
254inline constexpr utils::StringLiteral kStrLenCP = "$strLenCP";
255inline constexpr utils::StringLiteral kSubstr = "$substr";
256inline constexpr utils::StringLiteral kSubstrBytes = "$substrBytes";
257inline constexpr utils::StringLiteral kSubstrCP = "$substrCP";
258inline constexpr utils::StringLiteral kSubtract = "$subtract";
259inline constexpr utils::StringLiteral kSum = "$sum";
260inline constexpr utils::StringLiteral kSwitch = "$switch";
261inline constexpr utils::StringLiteral kTan = "$tan";
262inline constexpr utils::StringLiteral kTanh = "$tanh";
263inline constexpr utils::StringLiteral kText = "$text";
264inline constexpr utils::StringLiteral kToArray = "$toArray";
265inline constexpr utils::StringLiteral kToBool = "$toBool";
266inline constexpr utils::StringLiteral kToDate = "$toDate";
267inline constexpr utils::StringLiteral kToDecimal = "$toDecimal";
268inline constexpr utils::StringLiteral kToDouble = "$toDouble";
269inline constexpr utils::StringLiteral kToHashedIndexKey = "$toHashedIndexKey";
270inline constexpr utils::StringLiteral kToInt = "$toInt";
271inline constexpr utils::StringLiteral kToLong = "$toLong";
272inline constexpr utils::StringLiteral kToLower = "$toLower";
273inline constexpr utils::StringLiteral kToObject = "$toObject";
274inline constexpr utils::StringLiteral kToObjectId = "$toObjectId";
275inline constexpr utils::StringLiteral kTop = "$top";
276inline constexpr utils::StringLiteral kTopN = "$topN";
277inline constexpr utils::StringLiteral kToString = "$toString";
278inline constexpr utils::StringLiteral kToUpper = "$toUpper";
279inline constexpr utils::StringLiteral kToUuid = "$toUUID";
280inline constexpr utils::StringLiteral kTrim = "$trim";
281inline constexpr utils::StringLiteral kTrunc = "$trunc";
282inline constexpr utils::StringLiteral kTsIncrement = "$tsIncrement";
283inline constexpr utils::StringLiteral kTsSecond = "$tsSecond";
284inline constexpr utils::StringLiteral kType = "$type";
285inline constexpr utils::StringLiteral kUnionWith = "$unionWith";
286inline constexpr utils::StringLiteral kUnset = "$unset";
287inline constexpr utils::StringLiteral kUnsetField = "$unsetField";
288inline constexpr utils::StringLiteral kUnwind = "$unwind";
289inline constexpr utils::StringLiteral kVectorSearch = "$vectorSearch";
290inline constexpr utils::StringLiteral kWeek = "$week";
291inline constexpr utils::StringLiteral kWhere = "$where";
292inline constexpr utils::StringLiteral kYear = "$year";
293inline constexpr utils::StringLiteral kZip = "$zip";
294
295} // namespace storages::mongo::operators
296
297USERVER_NAMESPACE_END