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.
| Command | Notes |
|---|
hello, isMaster | Reports a standalone, writable server |
buildInfo | Reports server version 7.0.0 |
ping | |
whatsmyuri | |
getParameter | |
serverStatus | |
connectionStatus | |
getCmdLineOpts | |
getFreeMonitoringStatus | |
getLog | |
| Command | Notes |
|---|
saslStart | SCRAM-SHA-256 only; other mechanisms are rejected |
saslContinue | |
Every command below this point requires an authenticated connection.
| Command | Notes |
|---|
insert | Creates the collection (and tenant) on first use |
find | See filter operators |
update | See update operators; supports upsert |
delete | |
findAndModify | |
count | |
distinct | |
| Command | Notes |
|---|
aggregate | See aggregation pipeline; $changeStream pipelines are rejected with CommandNotSupported |
| Command | Notes |
|---|
create | |
drop | |
listCollections | |
listDatabases | |
| Command | Notes |
|---|
createIndexes | |
dropIndexes | |
listIndexes | |
| Command | Notes |
|---|
getMore | |
killCursors | |
| Command | Notes |
|---|
startSession | At most 128 concurrent sessions per connection |
endSessions | |
refreshSessions | |
commitTransaction | A 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:
| Operator | Meaning |
|---|
| implicit equality | { field: value } |
$eq | equals |
$ne | not equals |
$gt | greater than |
$gte | greater than or equal |
$lt | less than |
$lte | less 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.
| Operator | Notes |
|---|
$set | |
$unset | |
$rename | |
$setOnInsert | Applied only on upsert-insert |
$currentDate | |
$inc | |
$min | |
$max | |
$mul | |
$addToSet | Supports $each |
$push | Supports $each |
$pull | |
$pullAll | |
$pop | |
$bit | |
| Stage | Notes |
|---|
$match | Same operator surface as filter operators |
$sort | |
$limit | |
$skip | |
$project | |
$addFields | |
$count | |
$group | See 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 |
| Property | Value |
|---|
| Reported server version | 7.0.0 |
| Wire protocol versions | 0–21 (OP_MSG) |
| Max BSON document size | 16,777,216 bytes (16 MiB) |
| Max message size | 48,000,000 bytes |
| Max write batch size | 100,000 operations |
| Logical session timeout | 30 minutes |
| Network binding | Loopback only; non-loopback binds are refused |