Skip to content

MongoDB operations

The Nimbus MongoDB endpoint implements a defined subset of the MongoDB command surface. Anything outside this page is rejected with an explicit error — an unknown command returns CommandNotFound (code 59), and an unsupported operator inside a supported command returns an error naming the operator. Nothing is silently ignored.

Handshake and diagnostics — no authentication required

Section titled “Handshake and diagnostics — no authentication required”
CommandNotes
hello, isMasterReports a standalone, writable server
buildInfoReports server version 7.0.0
ping
whatsmyuri
getParameter
serverStatus
connectionStatus
getCmdLineOpts
getFreeMonitoringStatus
getLog
CommandNotes
saslStartSCRAM-SHA-256 only; other mechanisms are rejected
saslContinue

Every command below this point requires an authenticated connection.

CommandNotes
insertCreates the collection (and tenant) on first use
findSee filter operators
updateSee update operators; supports upsert
delete
findAndModify
count
distinct
CommandNotes
aggregateSee aggregation pipeline; $changeStream pipelines are rejected with CommandNotSupported
CommandNotes
create
drop
listCollections
listDatabases
CommandNotes
createIndexes
dropIndexes
listIndexes
CommandNotes
getMore
killCursors
CommandNotes
startSessionAt most 128 concurrent sessions per connection
endSessions
refreshSessions
commitTransactionA conflicting concurrent write fails the commit with WriteConflict
abortTransaction

Transactions are started with the standard startTransaction: true field on the first operation in the session. A transaction is scoped to one database (one Nimbus tenant).

Supported in find, update, delete, findAndModify, count, and $match:

OperatorMeaning
implicit equality{ field: value }
$eqequals
$nenot equals
$gtgreater than
$gtegreater than or equal
$ltless than
$lteless than or equal

All other filter operators — including $in, $nin, $or, $and, $not, $nor, $regex, and $exists — are rejected with a BadValue error naming the operator. Top-level $-prefixed keys in a filter are likewise rejected.

OperatorNotes
$set
$unset
$rename
$setOnInsertApplied only on upsert-insert
$currentDate
$inc
$min
$max
$mul
$addToSetSupports $each
$pushSupports $each
$pull
$pullAll
$pop
$bit
StageNotes
$matchSame operator surface as filter operators
$sort
$limit
$skip
$project
$addFields
$count
$groupSee accumulators below
$unwind

An unrecognized stage fails the pipeline with an error naming the stage. $changeStream is rejected with CommandNotSupported — change streams are not available through the MongoDB endpoint.

Accumulator
$sum
$avg
$min
$max
$first
$last
$push
$addToSet
PropertyValue
Reported server version7.0.0
Wire protocol versions0–21 (OP_MSG)
Max BSON document size16,777,216 bytes (16 MiB)
Max message size48,000,000 bytes
Max write batch size100,000 operations
Logical session timeout30 minutes
Network bindingLoopback only; non-loopback binds are refused