{"id":46701,"date":"2026-09-04T07:34:49","date_gmt":"2026-09-04T05:34:49","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=46701"},"modified":"2026-09-04T07:34:53","modified_gmt":"2026-09-04T05:34:53","slug":"mongodb-dmk-2-6-0-pymongo-integration-and-new-features","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/","title":{"rendered":"MongoDB DMK 2.6.0 : pymongo integration and new features"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In this blog, I will present the new features introduced with the latest release (<code>2.6.0<\/code>) of the MongoDB DMK.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The DMK is a set of standardized tools that aims at easing the work of DBAs by having dbi\u2019s best practices embedded in common scripts across all the database servers of an organization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">dbi services provides the <a href=\"https:\/\/www.dbi-services.com\/fr\/produits\/dmk-management-kit\/\" target=\"_blank\" rel=\"noopener noreferrer\">DMK<\/a> (<em>Database Management Kit<\/em>) to its customers for multiple technologies: Oracle, Postgres, MongoDB, etc. This toolkit is provided <strong>free of charge<\/strong> to all clients who work with dbi services on a consulting project.<\/p>\n\n\n\n<h2 id=\"new-features-of-the-mongodb-dmk-in-260\" class=\"wp-block-heading\">New features of the MongoDB DMK in <code>2.6.0<\/code><\/h2>\n\n\n\n<h3 id=\"pymongo-integration\" class=\"wp-block-heading\"><code>pymongo<\/code> integration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DMK now uses <code>pymongo<\/code> as its default MongoDB connection backend where available, instead of always shelling out to <code>mongosh<\/code>. Every internal operation that used to spawn a <code>mongosh<\/code> subprocess and parse its printed output (status checks, session listing, replica set state) now runs the equivalent <code>pymongo<\/code> call directly in the same process. That skips the cost of starting a shell interpreter and a Node.js runtime for every single query. It also gets typed BSON values (timestamps, <code>ObjectId<\/code>, <code>Decimal128<\/code>) back natively instead of round-tripping them through JSON text.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A new <code>mongo_connection.py<\/code> module wraps either a <code>pymongo<\/code> client or a <code>mongosh<\/code> subprocess behind the same interface. It is automatically chosen based on whether <code>pymongo<\/code> is importable. Both backends return the same JSON-serializable shape, so the rest of DMK does not need to know which one is in use. <code>pymongo<\/code> is entirely optional: install it with <code>pip3 install pymongo<\/code> and DMK picks it up automatically the next time an alias or script runs. No restart and no configuration change are needed. Without it, DMK transparently falls back to the <code>mongosh<\/code> backend it has always used.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set <code>DMK_USE_PYMONGO=0<\/code> (or <code>false<\/code>\/<code>no<\/code>) to force the <code>mongosh<\/code> backend even when <code>pymongo<\/code> is installed. This is useful to work around a <code>pymongo<\/code>-specific issue without uninstalling it. The <code>dmkpymongo<\/code> alias reports which backend is currently in use:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ dmkpymongo\nDMK is using the mongosh backend (pymongo is not installed).<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Once <code>pymongo<\/code> is installed, the same alias instead reports <code>DMK is using the pymongo backend (pymongo &lt;version&gt; installed).<\/code><\/p>\n\n\n\n<h3 id=\"startup-report-in-dmk_db_ctlpy\" class=\"wp-block-heading\">Startup report in <code>dmk_db_ctl.py<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>dmk_db_ctl.py<\/code> gained a <code>--startup-report<\/code> option. After a <code>start<\/code> or <code>restart<\/code>, it scans the instance log for warnings\/errors since the last startup and retrieves the server\u2019s own <code>startupWarnings<\/code> buffer via <code>getLog<\/code>, then prints a combined report. If the start itself fails, the log is still scanned so the cause is visible.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dmk_db_ctl.py -i mdb01 -a start --startup-report\ndmk_db_ctl.py -i mdb01 -a restart --startup-report --check-status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A successful restart reports both sources side by side, the log scan and the server\u2019s own <code>getLog<\/code> buffer:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2026-09-02 15:22:05 | INFO | Restarting MongoDB instance mdb01 ...\n2026-09-02 15:22:07 | INFO | MongoDB instance 'mdb01' is now 'STARTED'.\n2026-09-02 15:22:08 | INFO | ------------------------------  Startup Report  ------------------------------\n2026-09-02 15:22:08 | INFO | Log scan since last startup: 10 warning(s), 0 error(s)\/fatal(s). Server startupWarnings buffer: 6 entrie(s).\n2026-09-02 15:22:08 | INFO |   &#091;W] 2026-09-02T15:22:05.865+00:00 (initandlisten) Access control is not enabled for the database. Read and write access to data and configuration is unrestricted\n2026-09-02 15:22:08 | INFO |   &#091;W] 2026-09-02T15:22:05.865+00:00 (initandlisten) We suggest setting swappiness to 0 or 1, as swapping can cause performance problems.\n2026-09-02 15:22:08 | INFO |   &#091;W] 2026-09-02T15:22:06.006+00:00 (ftdc) Use of deprecated server parameter 'sslMode', please use 'tlsMode' instead.\n2026-09-02 15:22:08 | INFO |   &#091;I] 2026-09-02T15:22:05.517+00:00 (initandlisten) Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http:\/\/dochub.mongodb.org\/core\/prodnotes-filesystem (getLog)\n2026-09-02 15:22:08 | INFO | ------------------------------------------------------------------------------<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A failed start scans only the log, since the server was never reachable and there is no <code>getLog<\/code> buffer to add, then still re-raises so the command\u2019s own exit code stays non-zero:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2026-09-02 15:21:45 | INFO | Restarting MongoDB instance mdb01 ...\n2026-09-02 15:21:47 | ERROR | Instance failed to start. Scanning log for the cause ...\n2026-09-02 15:21:47 | INFO | ------------------------------  Startup Report  ------------------------------\n2026-09-02 15:21:47 | INFO | Log scan since last startup: 10 warning(s), 0 error(s)\/fatal(s). Server startupWarnings buffer: 0 entrie(s).\n2026-09-02 15:21:47 | INFO | ------------------------------------------------------------------------------<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Without <code>--check-status<\/code>, <code>dmk_db_ctl.py<\/code> does not wait to confirm the server actually came up, so a start that silently fails to bind (a bad port in the configuration file, for example) still reports the previous startup\u2019s log content as if it were current, with exit code 0. Pass <code>--check-status<\/code> alongside <code>--startup-report<\/code> whenever the report\u2019s purpose is to catch a failed start, not just to review a successful one.<\/p>\n\n\n\n<h3 id=\"default-mongoshrcjs\" class=\"wp-block-heading\">Default <code>~\/.mongoshrc.js<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DMK now bootstraps a <code>~\/.mongoshrc.js<\/code> on first run (never overwriting an existing one), setting a prompt that shows <code>host:port<\/code>, database name, and replica set\/<code>mongos<\/code> role, plus a set of read-only\u00a0<code>show*()<\/code>\u00a0helper functions for users, database\/collection\/index sizes, locks, active sessions, replica set status, and sharding status.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On a standalone instance, the prompt reports <code>standalone<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;standalone] 127.0.0.1:27017\/admin&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On a replica set, it reports the replica set name and the member\u2019s current role instead:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;dbirs:PRIMARY] 127.0.0.1:28001\/admin&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Run <code>showAliases()<\/code> at any time to list every available <code>show*()<\/code> helper:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>showUsers()             - users across all databases\nshowAllDBSizes()        - size of all databases, in MB\nshowAllCollections()    - all collections across all databases, including system ones\nshowCollections()       - all collections across all databases, excluding system ones\nshowIndexSizes()        - index sizes for collections in the current database\nshowUserRoles()         - user roles across all databases\nshowLocks()             - current lock statistics\nshowWaits()             - current lock queue \/ active clients\nshowActiveSessions()    - currently active sessions\/operations\nshowMongoDBVersion()    - MongoDB server version\nshowMongoshVersion()    - mongosh version\nshowReplicaSetInfo()    - replica set status (rs.status())\nshowReplicaSetConfig()  - replica set configuration (rs.conf())\nshowShardStatus()       - list of shards in a sharded cluster\nshowChunkDistribution() - chunk count per shard, per sharded collection\nshowBalancerStatus()    - whether the sharding balancer is enabled<\/code><\/pre>\n\n\n\n<h3 id=\"new-dmk_debug3-trace-tier\" class=\"wp-block-heading\">New <code>oplog<\/code> alias<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A new <code>oplog<\/code> alias (<code>msp ${DMK_HOME}\/js\/oplog_info.js<\/code>) shows a replica set member\u2019s oplog configured\/used size and the time window (first entry to last entry) it currently covers, formatted as days\/hours\/minutes\/seconds:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ oplog\nOplog size:\n-------------\n  Configured size: 990.00 MB\n  Used:            978.19 MB (98.81%)\n\nOplog window:\n---------------\n  First entry: Fri Aug 28 2026 15:44:01 GMT+0000 (Coordinated Universal Time)\n  Last entry:  Wed Sep 02 2026 15:23:13 GMT+0000 (Coordinated Universal Time)\n  Covers:      4d 23h 39m 12s (430752s)<\/code><\/pre>\n\n\n\n<h3 id=\"sess-alias-improvements\" class=\"wp-block-heading\"><code>sess<\/code> alias improvements<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The session view (<code>sess<\/code> \/ <code>dmk_status.py --sessions<\/code>) now hides internal\/background operations (replication threads, <code>Checkpointer<\/code>, <code>TTLMonitor<\/code>, and similar) by default, since they have no client connection behind them and are noise for \u201cwho\u2019s connected\u201d questions. Pass <code>--include-internal<\/code> (or <code>--show-all<\/code>) to bring them back. Session rows also now show <code>planSummary<\/code>.<\/p>\n\n\n\n<h3 id=\"configuration-file-parsing-fixes\" class=\"wp-block-heading\">Configuration file parsing fixes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Quote parsing in the DMK configuration file received further fixes. The YAML parser gained list support, and a bug where it could silently re-parent sibling keys into the wrong nested block was fixed. <code>update_mongo_conf.py<\/code> now edits a configuration file\u2019s lines directly instead of rewriting the whole file, so comments, lists, and header formatting are no longer destroyed. A password containing an unquoted <code>#<\/code> in <code>cred.yaml<\/code> is no longer silently truncated as an inline comment.<\/p>\n\n\n\n<h3 id=\"systemd-sudo-grant-check\" class=\"wp-block-heading\"><code>systemd<\/code> sudo grant check<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>dmk_db_ctl.py<\/code> now checks that the current user actually has the sudo grants to run <code>systemctl start|stop<\/code> on the instance\u2019s service before attempting it, failing fast with a clear message instead of surfacing <code>sudo<\/code>\u2019s own cryptic stderr.<\/p>\n\n\n\n<h3 id=\"dmk_dbcreatepy-improvements\" class=\"wp-block-heading\"><code>dmk_dbcreate.py<\/code> improvements<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Directory\/config path variables (<code>admin_path<\/code>, <code>log_path<\/code>, <code>data_path<\/code>) are now read from the installer template rather than re-derived from environment variables that could differ from it, which could set up an instance\u2019s directories in the wrong place. <code>dmk_dbcreate.py<\/code> also now checks the configured port for conflicts before creating an instance: it verifies the port is a valid integer, is not already assigned to another instance in <code>mongodb.lst<\/code>, and is not already accepted by a listening process, failing fast with a clear error instead of creating an instance that silently squats on a port already in use.<\/p>\n\n\n\n<h3 id=\"new-dmk_debug3-trace-tier\" class=\"wp-block-heading\">New <code>DMK_DEBUG=3<\/code> trace tier<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Level 2 debug output previously mixed operational debug (instance, connection, status) with high-volume configuration-file parsing\/computation output, making it hard to isolate the signal that actually matters when troubleshooting. That parsing\/computation noise now only appears at a new <code>DMK_DEBUG=3<\/code> (<code>TRACE<\/code>) tier; levels 0-2 keep their existing meaning unchanged.<\/p>\n\n\n\n<h3 id=\"bug-fixes\" class=\"wp-block-heading\">Bug fixes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A few notable bugs were fixed in this release:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Session runtime<\/strong> was truncated to the low 32 bits on the <code>mongosh<\/code> backend, so operations running over roughly 71 minutes showed a wrong, wrapped time. Fixed.<\/li>\n\n\n\n<li><strong>Status table sorting<\/strong> on numeric columns was lexicographic, so port <code>9000<\/code> sorted after port <code>27017<\/code>. Fixed.<\/li>\n\n\n\n<li>A process-existence check could raise an error if an instance stopped between reading its process list and reading its PID file. Fixed.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"upgrading-from-an-earlier-version-of-dmk\" class=\"wp-block-heading\">Upgrading from an earlier version of DMK<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you are upgrading from DMK 2.5.0, replace the DMK folder with the new one:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/u01\/app\/mongodb\/local\nmv dmk .dmk_old\nunzip \/path\/to\/dmk_mongodb-2.6.0.zip\ndmk<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you are upgrading from DMK 2.4.0 or earlier, read the <a href=\"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-5-0-sharding-support-and-new-features\/\" target=\"_blank\" rel=\"noopener noreferrer\">release notes of DMK 2.5.0<\/a> first.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog, I will present the new features introduced with the latest release (2.6.0) of the MongoDB DMK. The DMK is a set of standardized tools that aims at easing the work of DBAs by having dbi\u2019s best practices embedded in common scripts across all the database servers of an organization. dbi services provides [&hellip;]<\/p>\n","protected":false},"author":152,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[3788],"tags":[4199,559,1142,3571,2961,4201],"type_dbi":[4200,3779,3847,3842,3407,4202],"class_list":["post-46701","post","type-post","status-publish","format-standard","hentry","category-mongodb","tag-2-6-0","tag-dmk","tag-management","tag-mongo","tag-mongodb","tag-pymongo","type-2-6-0","type-dmk","type-management","type-mongo","type-mongodb","type-pymongo"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>MongoDB DMK 2.6.0 : pymongo integration and new features - dbi Blog<\/title>\n<meta name=\"description\" content=\"Discover what&#039;s new in the latest MongoDB DMK 2.6.0 release: pymongo integration, startup reports, configuration parsing fixes, and more.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB DMK 2.6.0 : pymongo integration and new features\" \/>\n<meta property=\"og:description\" content=\"Discover what&#039;s new in the latest MongoDB DMK 2.6.0 release: pymongo integration, startup reports, configuration parsing fixes, and more.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-04T05:34:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-04T05:34:53+00:00\" \/>\n<meta name=\"author\" content=\"Julien Delattre\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julien Delattre\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/\"},\"author\":{\"name\":\"Julien Delattre\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/764ab019cc9dec42655b4c6b9b8e474e\"},\"headline\":\"MongoDB DMK 2.6.0 : pymongo integration and new features\",\"datePublished\":\"2026-09-04T05:34:49+00:00\",\"dateModified\":\"2026-09-04T05:34:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/\"},\"wordCount\":989,\"commentCount\":0,\"keywords\":[\"2.6.0\",\"DMK\",\"Management\",\"Mongo\",\"mongodb\",\"pymongo\"],\"articleSection\":[\"MongoDB\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/\",\"name\":\"MongoDB DMK 2.6.0 : pymongo integration and new features - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-09-04T05:34:49+00:00\",\"dateModified\":\"2026-09-04T05:34:53+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/764ab019cc9dec42655b4c6b9b8e474e\"},\"description\":\"Discover what's new in the latest MongoDB DMK 2.6.0 release: pymongo integration, startup reports, configuration parsing fixes, and more.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MongoDB DMK 2.6.0 : pymongo integration and new features\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/764ab019cc9dec42655b4c6b9b8e474e\",\"name\":\"Julien Delattre\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g\",\"caption\":\"Julien Delattre\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/juliendelattre\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MongoDB DMK 2.6.0 : pymongo integration and new features - dbi Blog","description":"Discover what's new in the latest MongoDB DMK 2.6.0 release: pymongo integration, startup reports, configuration parsing fixes, and more.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/","og_locale":"en_US","og_type":"article","og_title":"MongoDB DMK 2.6.0 : pymongo integration and new features","og_description":"Discover what's new in the latest MongoDB DMK 2.6.0 release: pymongo integration, startup reports, configuration parsing fixes, and more.","og_url":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/","og_site_name":"dbi Blog","article_published_time":"2026-09-04T05:34:49+00:00","article_modified_time":"2026-09-04T05:34:53+00:00","author":"Julien Delattre","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Julien Delattre","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/"},"author":{"name":"Julien Delattre","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/764ab019cc9dec42655b4c6b9b8e474e"},"headline":"MongoDB DMK 2.6.0 : pymongo integration and new features","datePublished":"2026-09-04T05:34:49+00:00","dateModified":"2026-09-04T05:34:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/"},"wordCount":989,"commentCount":0,"keywords":["2.6.0","DMK","Management","Mongo","mongodb","pymongo"],"articleSection":["MongoDB"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/","url":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/","name":"MongoDB DMK 2.6.0 : pymongo integration and new features - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2026-09-04T05:34:49+00:00","dateModified":"2026-09-04T05:34:53+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/764ab019cc9dec42655b4c6b9b8e474e"},"description":"Discover what's new in the latest MongoDB DMK 2.6.0 release: pymongo integration, startup reports, configuration parsing fixes, and more.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/mongodb-dmk-2-6-0-pymongo-integration-and-new-features\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MongoDB DMK 2.6.0 : pymongo integration and new features"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/764ab019cc9dec42655b4c6b9b8e474e","name":"Julien Delattre","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a97d00e680bbf237126e24b65281cbcb66cd20bd1ed2d14bf928991b2bf68eb5?s=96&d=mm&r=g","caption":"Julien Delattre"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/juliendelattre\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/152"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=46701"}],"version-history":[{"count":7,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46701\/revisions"}],"predecessor-version":[{"id":46709,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46701\/revisions\/46709"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=46701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=46701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=46701"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=46701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}