Supported MongoDB Commands, Data Types, and Operators
The following tables reflect which MongoDB commands, data types, and operators are supported by SingleStore Kai for MongoDB.
Query and Projection Operators
Array Operators
Operator | Supported |
---|---|
$all | ✔ |
$elemMatch | ✔ |
$size | ✔ |
Bitwise Operators
Operator | Supported |
---|---|
$bitsAllSet |
|
$bitsAnySet |
|
$bitsAllClear |
|
$bitsAnyClear |
|
Comment Operator
Operator | Supported |
---|---|
$comment | ✔ |
Comparison Operators
Operator | Supported |
---|---|
$eq | ✔ |
$gt | ✔ |
$gte | ✔ |
$lt | ✔ |
$lte | ✔ |
$ne | ✔ |
$in | ✔ |
$nin | ✔ |
Element Operators
Operator | Supported |
---|---|
$exists | ✔ |
$type | ✔ |
Evaluation Query Operators
Operator | Supported |
---|---|
$expr | ✔ |
$jsonSchema |
|
$mod | ✔ |
$regex | ✔ |
$text |
|
$where |
|
Logical Operators
Operator | Supported |
---|---|
$or | ✔ |
$and | ✔ |
$not | ✔ |
$nor | ✔ |
Projection Operators
Operator | Supported |
---|---|
$ |
|
$elemMatch |
|
$meta |
|
$slice |
|
Update Operators
Update Array Operators
Operator | Supported |
---|---|
$ | ✔ |
$[] | ✔ |
$[<identifier>] | ✔ |
$addToSet | ✔ |
$pop | ✔ |
$pullAll | ✔ |
$pull | ✔ |
$push | ✔ |
$pushAll |
|
Update Bitwise Operators
Operator | Supported |
---|---|
$bit | ✔ |
Update Field Operators
Operator | Supported |
---|---|
$inc | ✔ |
$mul | ✔ |
$rename | ✔ |
$setOnInsert | ✔ |
$set | ✔ |
$unset | ✔ |
$min | ✔ |
$max | ✔ |
$currentDate | ✔ |
Update Modifiers
Operator | Supported |
---|---|
$each | ✔ |
$slice | ✔ |
$sort | ✔ |
$position | ✔ |
Aggregation Pipeline Operators
Aggregation Accumulator Expressions
Operator | Supported |
---|---|
$sum | ✔ |
$integral |
|
$shift |
|
$avg | ✔ |
$first | ✔ |
$last | ✔ |
$max | ✔ |
$min | ✔ |
$push | ✔ |
$addToSet | ✔ |
$stdDevPop | ✔ |
$stdDevSamp | ✔ |
$integral |
|
$shift |
|
$accumulator |
|
$firstN |
|
$bottom |
|
$bottomN |
|
$lastN |
|
$maxN |
|
$mergeObjects | ✔ |
$top |
|
$topN |
|
Arithmetic Operators
Operator | Supported |
---|---|
$abs | ✔ |
$add | ✔ |
$ceil | ✔ |
$divide | ✔ |
$exp |
|
$floor | ✔ |
$ln | ✔ |
$log | ✔ |
$log10 | ✔ |
$mod | ✔ |
$multiply | ✔ |
$pow |
|
$sqrt | ✔ |
$subtract | ✔ |
$rand | ✔ |
$trunc | ✔ |
$round | ✔ |
Array Operators
Operator | Supported |
---|---|
$arrayElemAt | ✔ |
$arrayToObject | ✔ |
$concatArrays | ✔ |
$filter | ✔ |
$indexOfArray | ✔ |
$isArray | ✔ |
$objectToArray | ✔ |
$range | ✔ |
$reverseArray | ✔ |
$reduce |
|
$size | ✔ |
$slice | ✔ |
$zip | ✔ |
$in | ✔ |
$count | ✔ |
$first | ✔ |
$firstN | ✔ |
$sortArray |
|
$last |
|
$lastN | ✔ |
$map | ✔ |
$maxN |
|
$minN |
|
Boolean Operators
Operator | Supported |
---|---|
$and | ✔ |
$or | ✔ |
$not | ✔ |
Comparison Operators
Operator | Supported |
---|---|
$cmp | ✔ |
$eq | ✔ |
$gt | ✔ |
$gte | ✔ |
$lt | ✔ |
$lte | ✔ |
$ne | ✔ |
$in | ✔ |
$nin | ✔ |
$sortArray |
|
Conditional Expression Operators
Operator | Supported |
---|---|
$cond | ✔ |
$ifNull | ✔ |
$switch | ✔ |
Custom Aggregation Expression Operators
Operator | Supported |
---|---|
$accumulator |
|
$function |
|
Data Size Operators
Operator | Supported |
---|---|
$binarySize | ✔ |
$bsonSize |
|
Data Type Operators
Operator | Supported |
---|---|
$type | ✔ |
$isNumber | ✔ |
Date Operators
Operator | Supported |
---|---|
$dayOfWeek | ✔ |
$dayOfMonth | ✔ |
$dayOfYear | ✔ |
$year | ✔ |
$month | ✔ |
$week | ✔ |
$hour | ✔ |
$minute | ✔ |
$second | ✔ |
$millisecond | ✔ |
$dateToString | ✔ |
$isoDayOfWeek | ✔ |
$isoWeek | ✔ |
$dateFromParts | ✔ |
$dateToParts | ✔ |
$dateFromString | ✔ |
$isoWeekYear | ✔ |
$dateAdd | ✔ |
$dateDiff | ✔ |
$dateSubtract | ✔ |
$dateTrunc | ✔ |
Literal Operator
Operator | Supported |
---|---|
$literal | ✔ |
Object Expression Operators
Operator | Supported |
---|---|
$mergeObjects |
|
$objectToArray | ✔ |
$setField |
|
Natural Operator
Operator | Supported |
---|---|
$natural |
|
Set Operators
Operator | Supported |
---|---|
$setEquals |
|
$setIntersection |
|
$setUnion |
|
$setDifference |
|
$setIsSubset |
|
$anyElementTrue | ✔ |
$allElementsTrue | ✔ |
Stage Operators
Operator | Supported |
---|---|
$collStats | ✔ |
$project | ✔ |
$match | ✔ |
$redact |
|
$limit | ✔ |
$skip | ✔ |
$unwind | ✔ |
$group | ✔ |
$sample | ✔ |
$sort | ✔ |
$geoNear |
|
$lookup | ✔ |
$merge |
|
$out |
|
$indexStats |
|
$setWindowFields |
|
$facet |
|
$bucket |
|
$bucketAuto |
|
$sortByCount | ✔ |
$addFields | ✔ |
$replaceRoot | ✔ |
$count | ✔ |
$currentOp |
|
$listLocalSessions |
|
$listSessions |
|
$graphLookup | ✔ |
$changeStream |
|
$densify |
|
$documents |
|
$fill |
|
$unionWith |
|
$planCacheStats |
|
$unset | ✔ |
$replaceWith | ✔ |
$search |
|
$searchMeta |
|
String Operators
Operator | Supported |
---|---|
$concat | ✔ |
$indexOfBytes | ✔ |
$indexOfCP | ✔ |
$trim | ✔ |
$ltrim | ✔ |
$rtrim | ✔ |
$regexFind |
|
$regexFindAll |
|
$rgexMatch |
|
$replaceOne |
|
$replaceAll |
|
$split | ✔ |
$strcasecmp | ✔ |
$strLenBytes | ✔ |
$strLenCP | ✔ |
$substr | ✔ |
$substrBytes | ✔ |
$substrCP | ✔ |
$toString | ✔ |
$toLower | ✔ |
$toUpper | ✔ |
$trim | ✔ |
System Variables
Variable | Supported |
---|---|
$$CURRENT | ✔ |
$$CLUSTERTIME |
|
$$DESCEND |
|
$$KEEP |
|
$$NOW |
|
$$PRUNE |
|
$$REMOVE | ✔ |
$$ROOT | ✔ |
$$SEARCH_META |
|
Text Search Operator
Operator | Supported |
---|---|
$meta |
|
Timestamp Expression Operators
Operator | Supported |
---|---|
$tsIncrement | ✔ |
$tsSecond | ✔ |
Trigonometry Expression Operators
Operator | Supported |
---|---|
$sin |
|
$cos |
|
$tan |
|
$asin |
|
$acos |
|
$atan |
|
$atan2 |
|
$asinh |
|
$acosh |
|
$atanh |
|
$sinh |
|
$cosh |
|
$tanh |
|
$degreesToRadians |
|
$radiansToDegrees |
|
Type Conversion Operators
Operator | Supported |
---|---|
$convert | ✔ |
$toBool | ✔ |
$toDate | ✔ |
$toDecimal | ✔ |
$toDouble | ✔ |
$toInt | ✔ |
$toLong | ✔ |
$toObjectId | ✔ |
$toString | ✔ |
Variable Operators
Operator | Supported |
---|---|
$map | ✔ |
$let | ✔ |
Miscellaneous Operators
Operator | Supported |
---|---|
$getField |
|
$rand | ✔ |
$sampleRate |
|
Data Types
Data Type | Supported |
---|---|
Double | ✔ |
String | ✔ |
Object | ✔ |
Array | ✔ |
Binary Data | ✔ |
ObjectId | ✔ |
Boolean | ✔ |
Date | ✔ |
Null | ✔ |
32-bit Integer (int) | ✔ |
Timestamp | ✔ |
64-bit Integer (long) | ✔ |
MinKey | ✔ |
MaxKey | ✔ |
Decimal128 | ✔ |
Regular Expression | ✔ |
JavaScript | ✔ |
JavaScript (with scope) | ✔ |
Undefined | ✔ |
Symbol | ✔ |
DBPointer | ✔ |
Indexes and Index Properties
Indexes
Property | Supported |
---|---|
Single Field Index | ✔ |
Compound Index | ✔ |
Multikey Index | ✔ |
Text Index |
|
Wildcard Indexes | ✔ |
2dsphere |
|
2d Index |
|
GeoHaystackIndexes |
|
Hashed Index |
|
Index Properties
Property | Supported |
---|---|
TTL |
|
Unique | ✔ |
Partial |
|
Case Insensitive |
|
Hidden |
|
Sparse |
|
Background |
|
Cursor Methods
Method | Supported |
---|---|
cursor.batchSize() | ✔ |
cursor.close() | ✔ |
cursor.isClosed() | ✔ |
cursor.collation() |
|
cursor.comment() | ✔ |
cursor.count() | ✔ |
cursor.explain() | ✔ |
cursor.forEach() | ✔ |
cursor.hasNext() | ✔ |
cursor.hint() |
|
cursor.isExhausted() | ✔ |
cursor.itcount() | ✔ |
cursor.limit() | ✔ |
cursor.map() | ✔ |
cursor.maxScan() |
|
cursor.maxTimeMS() |
|
cursor.max() |
|
cursor.min() |
|
cursor.next() | ✔ |
cursor.noCursorTimeout() |
|
cursor.objsLeftInBatch() | ✔ |
cursor.pretty() | ✔ |
cursor.readConcern() | ✔ |
cursor.readPref() | ✔ |
cursor.returnKey() |
|
cursor.showRecordId() |
|
cursor.size() | ✔ |
cursor.skip() | ✔ |
cursor.sort() | ✔ |
cursor.tailable() |
|
cursor.toArray() | ✔ |
cursor.addOption() |
|
cursor.allowDiskUse() |
|
cursor.allowPartialResults() |
|
cursor.maxAwaitTimeMS() |
|
cursor.tryNext() |
|
Database Commands
Administrative Commands
Command | Supported |
---|---|
Capped Collections | |
cloneCollectionAsCapped | |
collMod | |
collMod: expireAfterSeconds | |
convertToCapped | |
copydb | |
create | ✔ |
createView | |
createIndexes | ✔ |
currentOp | ✔ |
drop | ✔ |
dropDatabase | ✔ |
dropIndexes | ✔ |
filemd5 | |
killCursors | ✔ |
killOp | |
listCollections | ✔ |
listDatabases | ✔ |
listIndexes | ✔ |
reIndex | |
renameCollection | |
fsync | |
fsyncUnlock | |
getDefaultRWConcern | |
getAudtifConfig | |
getClusterParameter | |
getParameter | |
logRotate | |
rotateCertificates | |
setFeatureCompatibilityVersion | |
setIndexCommitQuorum | |
setClusterParameter | |
setParameter | |
setDefaultRWConcern | |
shutdown |
Aggregation Commands
Command | Supported |
---|---|
aggregate | ✔ |
count | ✔ |
distinct | ✔ |
mapReduce |
Authentication Commands
Command | Supported |
---|---|
authenticate | ✔ |
getnonce | |
logout |
Diagnostic Commands
Command | Supported |
---|---|
buildInfo | ✔ |
collStats | ✔ |
connPoolStats | |
connectionStatus | ✔ |
dataSize | |
dbHash | |
dbStats | ✔ |
explain | ✔ |
explain: executionStats | ✔ |
features | |
getCmdLineOpts | |
getLog | |
hostInfo | |
listCommands | |
ping | ✔ |
profile | |
serverStatus | |
shardConnPoolStats | ✔ |
top | |
validate | |
validateDBMetadata | |
whatsmyuri | |
driverOIDTest | |
_isSelf | |
lockinfo | |
netstat |
Query and Write Operations
Operation | Supported |
---|---|
delete | ✔ |
find | ✔ |
findAndModify | ✔ |
getLastError | |
getMore | ✔ |
getPrevError | |
insert | ✔ |
parallelCollectionScan | |
resetError | |
update | ✔ |
Change streams | |
GridFS |
Role Management Commands
Command | Supported |
---|---|
createRole | |
dropRole | |
dropAllRolesFromDatabase | |
grantPrivilegesToRole | |
grantRolesToRole | |
invalidateUserCache | |
revokePrivilegesFromRole | |
revokeRolesFromRole | |
updateRole | |
rolesInfo |
Sharding Commands
Command | Supported |
---|---|
abortReshardCollection | |
addShard | |
addShardToZone | |
balancerCollectionStatus | |
balancerStart | |
balancerStatus | |
balancerStop | |
checkShardingIndex | |
clearJumboFlag | |
cleanupOrphaned | |
cleanupReshardCollection | |
commitReshardCollection | |
configureCollectionBalancing | |
enableSharding | |
flushRouterConfig | |
getShardMap | |
getShardVersion | |
isdbgrid | |
listShards | |
medianKey | |
moveChunk | |
movePrimary | |
moveRange | |
mergeChunks | |
refineCollectionShardKey | |
removeShard | |
removeShardFromZone | |
reshardCollection | |
setAllowMigrations | |
setShardVersion | |
shardCollection | ✔ |
shardingState | |
split | |
splitVector | |
unsetSharding | |
updateZoneKeyRange |
Session Commands
Command | Supported |
---|---|
abortTransaction | ✔ |
commitTransaction | ✔ |
endSessions | ✔ |
killAllSessions |
|
killAllSessionsByPattern |
|
killSessions |
|
refreshSessions |
|
startSession |
|
User Management Commands
Command | Supported |
---|---|
createUser |
|
dropAllUsersFromDatabase |
|
dropUser |
|
grantRolesToUser |
|
revokeRolesFromUser |
|
updateUser |
|
userInfo |
|