FeatureStatus
OP_MSG (commands)โœ… Supported
OP_QUERY (legacy)โœ… Supported
OP_GET_MOREโœ… Supported
OP_KILL_CURSORSโœ… Supported
TLS (--tls flag)โœ… Supported
Checksum flag (0x10000) parseโœ… Supported
Checksum flag (0x10000) writeโŒ Not implemented
maxWireVersionโœ… 21 (MongoDB 8.0+)
OperationStatus
insertOne / insertManyโœ… Supported
find with filter, projection, sort, skip, limitโœ… Supported
findOneโœ… Supported
updateOne / updateManyโœ… Supported
deleteOne / deleteManyโœ… Supported
findAndModify (update, remove, upsert, returnNew, sort, fields)โœ… Supported
countโœ… Supported
distinctโœ… Supported
getMore (batched cursor)โœ… Supported
killCursorsโœ… Supported
Bulk writes (document sequences)โœ… Supported
StageStatus
$match (pushdown + in-memory)โœ… Supported
$sort (multi-field)โœ… Supported
$skipโœ… Supported
$limitโœ… Supported
$project (inclusion/exclusion, _id handling)โœ… Supported
$group โ€” $sum, $avg, $min, $max, $first, $last, $push, $addToSet, $stdDevPop, $stdDevSamp, $mergeObjectsโœ… Supported
$countโœ… Supported
$unwind (string + document syntax)โœ… Supported
$addFields / $setโœ… Supported
$sampleโœ… Supported
$replaceRootโœ… Supported
$sortByCountโœ… Supported
$lookup (equality + pipeline syntax)โœ… Supported
$outโœ… Supported
$facetโœ… Supported
$unsetโœ… Supported
$replaceWithโœ… Supported
Expression operators ($gt, $gte, $lt, $lte, $eq, $ne, $and, $or, $not, $add, $subtract, $multiply, $divide, $mod, $concat, $cond, $ifNull, $literal, $size)โœ… Supported
String operators ($toLower, $toUpper, $substrCP, $strLenCP, $trim, $ltrim, $rtrim, $regexMatch)โœ… Supported
Array operators ($arrayElemAt, $reverseArray, $slice, $in, $size)โœ… Supported
Math operators ($abs, $ceil, $floor, $round, $trunc, $sqrt, $cmp)โœ… Supported
Type operators ($type, $toDouble, $toInt, $toLong, $toString, $convert)โœ… Supported
Date operators ($year, $month, $dayOfMonth, $dayOfWeek, $dayOfYear, $hour, $minute, $second, $millisecond, $week)โœ… Supported
$bucket, $bucketAutoโŒ Not implemented
$graphLookup, $geoNearโŒ Not implemented
$mergeโŒ Not implemented
OperationStatus
createIndexes (single, compound, unique)โœ… Supported
listIndexesโœ… Supported
dropIndexesโœ… Supported
Index-backed queriesโœ… Supported
TTL / text / geospatial indexesโŒ Not implemented
FeatureStatus
SCRAM-SHA-256โœ… Supported
SCRAM-SHA-1โœ… Supported
--no-auth flagโœ… Supported
Client proof verificationโœ… Supported
Role-based authorizationโœ… Supported
Roles: root, readWrite, read, userAdminโœ… Supported
createUser / updateUser / dropUserโœ… Supported
usersInfoโœ… Supported
User persistence (SQLite)โœ… Supported
OperationStatus
createCollectionโœ… Supported
drop collectionโœ… Supported
dropDatabaseโœ… Supported
listDatabasesโœ… Supported
listCollectionsโœ… Supported
collStats / dbStatsโœ… Supported
ToolStatus
mongoshโœ… Verified
mongodumpโœ… Verified
mongorestoreโœ… Verified
pymongo 4.xโš ๏ธ See note
MongoDB drivers (OP_MSG)โœ… Verified

โš ๏ธ pymongo 4.17+ C-level BSON encoder strips $-prefixed keys from documents nested inside arrays, which breaks aggregate pipeline stages sent via coll.aggregate(). Use mongosh or raw BSON for aggregate commands. All other operations work correctly with pymongo.

BehaviorDetail
Bson::as_i64() / as_f64() / as_str()โœ… Match exact types only โ€” Int32(5).as_i64() returns None
bson_to_i64() / bson_to_f64()โœ… Used throughout โ€” handle Int32, Int64, Double correctly
$regex with RegularExpressionโœ… Both string and /pattern/ syntax supported
Int32/Int64/Double in arithmeticโœ… All operators preserve correct types โ€” $add returns Int64 when all inputs are integer