nimbus
ReferenceMongoDB

MongoDB operations

The exact command, filter, update, and aggregation surface of the Nimbus MongoDB endpoint.

Served by default on 127.0.0.1:27017 (loopback only); opt out with --no-mongodb; SCRAM credentials.

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.

Commands

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

Authentication

CommandNotes
saslStartSCRAM-SHA-256 only; other mechanisms are rejected
saslContinue

Every command below this point requires an authenticated connection.

CRUD

CommandNotes
insertCreates the collection (and tenant) on first use
findSee filter operators
updateSee update operators; supports upsert
delete
findAndModify
count
distinct

Aggregation

CommandNotes
aggregateSee aggregation pipeline; $changeStream pipelines are rejected with CommandNotSupported

Collections and databases

CommandNotes
create
drop
listCollections
listDatabases

Indexes

CommandNotes
createIndexes
dropIndexes
listIndexes

Cursors

CommandNotes
getMore
killCursors

Sessions and transactions

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).

Filter operators

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.

Update operators

OperatorNotes
$set
$unset
$rename
$setOnInsertApplied only on upsert-insert
$currentDate
$inc
$min
$max
$mul
$addToSetSupports $each
$pushSupports $each
$pull
$pullAll
$pop
$bit

Aggregation pipeline

Stages

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.

$group accumulators

Accumulator
$sum
$avg
$min
$max
$first
$last
$push
$addToSet

Server identity and limits

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

On this page