From ea9e7cb457d47da91427ddf3349e2cf56d406182 Mon Sep 17 00:00:00 2001 From: Khelan <141972056+khelanmodi@users.noreply.github.com> Date: Thu, 18 Sep 2025 11:49:16 -0700 Subject: [PATCH 1/6] Update mongodb.md --- docs/azure/mongodb.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/azure/mongodb.md b/docs/azure/mongodb.md index 8bc54046b0..0ba937330f 100644 --- a/docs/azure/mongodb.md +++ b/docs/azure/mongodb.md @@ -1,17 +1,17 @@ --- ContentId: d1187f99-354f-4798-9c19-e432e4ae8572 MetaDescription: Working with MongoDB in Visual Studio Code -DateApproved: 11/1/2022 +DateApproved: 11/1/2025 --- # Working with MongoDB -Visual Studio Code has great support for working with [MongoDB](https://www.mongodb.com/what-is-mongodb) databases, whether your own instance or in [Azure with MongoDB Atlas](https://www.mongodb.com/cloud/atlas/azure-mongodb?utm_campaign=marketplace&utm_source=&utm_medium=marketplace). With the [MongoDB for VS Code](https://marketplace.visualstudio.com/items?itemName=mongodb.mongodb-vscode) extension, you can create, manage, and query MongoDB databases from within VS Code. +Visual Studio Code has great support for working with [MongoDB](https://www.mongodb.com/what-is-mongodb) databases, whether your own instance or with [Azure DocumentDB (with MongoDB compatibility)](https://learn.microsoft.com/azure/cosmos-db/mongodb/vcore/introduction). With the [DocumentDB for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-documentdb) extension, you can create, manage, and query MongoDB databases from within VS Code. ## Install the extension -MongoDB support for VS Code is provided by the [MongoDB for VS Code](https://marketplace.visualstudio.com/items?itemName=mongodb.mongodb-vscode) extension. To install the MongoDB for VS Code extension, open the Extensions view by pressing `kb(workbench.view.extensions)` and search for 'MongoDB' to filter the results. Select the **MongoDB for VS Code** extension. +MongoDB support for VS Code is provided by the [DocumentDB for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-documentdb) extension. To install the DocumentDB for VS Code extension, open the Extensions view by pressing `kb(workbench.view.extensions)` and search for 'DocumentDB' to filter the results. Select the **DocumentDB for VS Code** extension. -![Select MongoDB for VS Code](images/mongodb/install-cosmosdb-extension.png) +![Select DocumentDB for VS Code](images/mongodb/install-cosmosdb-extension.png) ## Connect to MongoDB From c93569692efb9f43197d6dd65d73215b478a59b5 Mon Sep 17 00:00:00 2001 From: Khelan <141972056+khelanmodi@users.noreply.github.com> Date: Thu, 18 Sep 2025 13:27:24 -0700 Subject: [PATCH 2/6] Update mongodb.md --- docs/azure/mongodb.md | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/docs/azure/mongodb.md b/docs/azure/mongodb.md index 0ba937330f..bc16ae51ba 100644 --- a/docs/azure/mongodb.md +++ b/docs/azure/mongodb.md @@ -11,33 +11,33 @@ Visual Studio Code has great support for working with [MongoDB](https://www.mong MongoDB support for VS Code is provided by the [DocumentDB for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-documentdb) extension. To install the DocumentDB for VS Code extension, open the Extensions view by pressing `kb(workbench.view.extensions)` and search for 'DocumentDB' to filter the results. Select the **DocumentDB for VS Code** extension. -![Select DocumentDB for VS Code](images/mongodb/install-cosmosdb-extension.png) +![TODO Select DocumentDB for VS Code](images/mongodb/install-cosmosdb-extension.png) ## Connect to MongoDB -Once you've installed the MongoDB for VS Code extension, you'll notice there is a new **MongoDB** Activity Bar view. Select the MongoDB view and you'll see the MongoDB Explorer. +Once you've installed the DocumentDB for VS Code extension, you'll notice there is a new **DocumentDB** Activity Bar view. Select the DocumentDB view and you'll see the Explorer. -![MongoDB explorer](images/mongodb/cosmosdb-explorer.png) +![DocumentDB explorer](images/mongodb/cosmosdb-explorer.png) -To connect to a MongoDB database: +To connect to a MongoDB-compatible database: -1. Select **Add Connection** in the MongoDB view +1. Select **Add New Connection** in the DocumentDB Connection view -1. Next, choose to connect with a connection string or use advanced connection options: +1. Next, choose to connect with a connection string or use Service Discovery options: - * Select **Connect with Connection String**, and then enter the connection string in the connection string Quick Pick. + * Select **Connection String**, and then enter the connection string in the connection string Quick Pick. The default connection string for a local MongoDB is `mongodb://127.0.0.1:27017`. ![Database Connection setup](images/mongodb/attach-database-account-connection-string.png) - * Select **Advanced Connection Settings**, enter the connection details, and then select **Save & Connect**. + * Select **Service Discovery**, choose your provider, and then select **Save & Connect**. ![Database Connection setup](images/mongodb/attach-database-account.png) ->**Note**: Make sure your MongoDB server (mongod.exe) is running if you are connecting to a local MongoDB server. +>**Note**: If you're not already signed in to Azure in VS Code, you'll be prompted to do so. This is required to use Service Discovery. -Once attached, you can work with the MongoDB server, managing MongoDB Databases, Collections, and Documents. +Once connected, you can work with the MongoDB server, managing MongoDB Databases, Collections, and Documents. ![attached MongoDB database](images/mongodb/attached-mongodb-database.png) @@ -51,29 +51,26 @@ You can also attach a MongoDB shell to the active connection, simply by right-cl >**Note**: Make sure the MongoDB shell (`mongo` or `mongosh`) [is installed](https://docs.mongodb.com/mongodb-shell/install#mdb-shell-install) and is on your path. In the extension's settings, you can choose which shell you are using. -## MongoDB Commands +## Using Scrapbook -There are MongoDB specific commands available in the VS Code **Command Palette** (`kb(workbench.action.showCommands)`) as well as through Explorer context menus. +The **DocumentDB Scrapbook** is one of the most powerful features of this extension. It allows you to write, run, and save MongoDB commands directly within a VS Code editor, helping you prototype queries and scripts -![mongodb commands](images/mongodb/mongodb-commands.png) +### Create a New Scrapbook +1. In the DocumentDB Explorer, right-click the desired collection. -## Using Playgrounds - -One of the most powerful features of the VS Code MongoDB integration is **Mongo Playgrounds**. Playgrounds let you create, run, and save MongoDB commands from a VS Code editor. Create a new playground with the **MongoDB: Create MongoDB Playground** command. +1. From the menu, select **Create Scrapbook**. ![new mongo Playground](images/mongodb/new-mongo-scrapbook.png) -In a playground, you can reference MongoDB entities and commands and you get rich IntelliSense as you type. Playgrounds are useful for prototyping database operations and queries. Execute selected lines in the playground queries with the **MongoDB: Run Selected Lines From Playground** command. +In a scrapbook, you can reference MongoDB entities and commands and you get rich IntelliSense as you type. Scrapbooks are useful for prototyping database operations and queries. Execute selected lines in the scrapbook queries with **Run Command**. ![mongodb Playground](images/mongodb/scrapbook.png) ![Run Playground queries](images/mongodb/run-playground.png) -## MongoDB on Azure - -You can easily create a MongoDB cluster on Azure for **Free** with [MongoDB Atlas](https://www.mongodb.com/cloud/atlas/signup?utm_campaign=marketplace&utm_source=signup&utm_medium=marketplace). +## MongoDB on Azure DocumentDB -Choose **Create a New Cluster** from the dashboard and choose **Azure** as the Cloud Provider. Once the cluster is created, connect to using the connection string provided by **MongoDB Atlas**. +You can easily create a managed MongoDB cluster on Azure for **Free** with [Azure DocumentDB](https://learn.microsoft.com/azure/cosmos-db/mongodb/vcore/quickstart-portal). ![Create Azure Cluster](images/mongodb/create-azure-cluster.png) From cec3b40d27b7bc59a9ee7e1ad808f6096749a0c7 Mon Sep 17 00:00:00 2001 From: Khelan <141972056+khelanmodi@users.noreply.github.com> Date: Wed, 12 Nov 2025 08:38:00 -0800 Subject: [PATCH 3/6] added screenshots --- .../attach-via-connection-string.png | 3 ++ .../attach-via-service-discovery.png | 3 ++ .../images/documentdb/create-scrapbook.png | 3 ++ .../images/documentdb/documentdb-explorer.png | 3 ++ .../install-documentdb-extension.png | 3 ++ .../azure/images/documentdb/launch-shell.jpeg | Bin 0 -> 25048 bytes .../images/documentdb/manage-database.png | 3 ++ .../azure/images/documentdb/run-scrapbook.png | 3 ++ docs/azure/mongodb.md | 29 +++++++----------- 9 files changed, 32 insertions(+), 18 deletions(-) create mode 100644 docs/azure/images/documentdb/attach-via-connection-string.png create mode 100644 docs/azure/images/documentdb/attach-via-service-discovery.png create mode 100644 docs/azure/images/documentdb/create-scrapbook.png create mode 100644 docs/azure/images/documentdb/documentdb-explorer.png create mode 100644 docs/azure/images/documentdb/install-documentdb-extension.png create mode 100644 docs/azure/images/documentdb/launch-shell.jpeg create mode 100644 docs/azure/images/documentdb/manage-database.png create mode 100644 docs/azure/images/documentdb/run-scrapbook.png diff --git a/docs/azure/images/documentdb/attach-via-connection-string.png b/docs/azure/images/documentdb/attach-via-connection-string.png new file mode 100644 index 0000000000..94dbfde281 --- /dev/null +++ b/docs/azure/images/documentdb/attach-via-connection-string.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73b05d0c78462f71ff87eeea8a31a219a73a1dec79bcc824de185ef5e64f3df1 +size 10820 diff --git a/docs/azure/images/documentdb/attach-via-service-discovery.png b/docs/azure/images/documentdb/attach-via-service-discovery.png new file mode 100644 index 0000000000..afc7136da8 --- /dev/null +++ b/docs/azure/images/documentdb/attach-via-service-discovery.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e913e6bea763a245d2b90437eea3c0f6cfebf6fd7c0f067c94a4a8ca5dcb67d2 +size 23221 diff --git a/docs/azure/images/documentdb/create-scrapbook.png b/docs/azure/images/documentdb/create-scrapbook.png new file mode 100644 index 0000000000..49cd0475e4 --- /dev/null +++ b/docs/azure/images/documentdb/create-scrapbook.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1bab65449ffc508693e8362b842a9c0d3234ce635771a3a56b1916f3c24e0b0 +size 31215 diff --git a/docs/azure/images/documentdb/documentdb-explorer.png b/docs/azure/images/documentdb/documentdb-explorer.png new file mode 100644 index 0000000000..51f2bf785c --- /dev/null +++ b/docs/azure/images/documentdb/documentdb-explorer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1afc59b3d1207d911e90a1ec31e92e662950742b475fd52fa8e930c4fa5578b +size 34979 diff --git a/docs/azure/images/documentdb/install-documentdb-extension.png b/docs/azure/images/documentdb/install-documentdb-extension.png new file mode 100644 index 0000000000..06b7d48181 --- /dev/null +++ b/docs/azure/images/documentdb/install-documentdb-extension.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fac76b705f21b536bf2e85335ec1fec22a92357ea22a3ce614ea7681b3028841 +size 38032 diff --git a/docs/azure/images/documentdb/launch-shell.jpeg b/docs/azure/images/documentdb/launch-shell.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b9d29e5b0181dab4444c4551d2454bcef5a6c783 GIT binary patch literal 25048 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 literal 0 HcmV?d00001 diff --git a/docs/azure/images/documentdb/manage-database.png b/docs/azure/images/documentdb/manage-database.png new file mode 100644 index 0000000000..7f6b221566 --- /dev/null +++ b/docs/azure/images/documentdb/manage-database.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fc8d7997a213f028d52c3f1a1e83ceed371c2a2ca03b44f2ff23d7af83e45b5 +size 156109 diff --git a/docs/azure/images/documentdb/run-scrapbook.png b/docs/azure/images/documentdb/run-scrapbook.png new file mode 100644 index 0000000000..d301776389 --- /dev/null +++ b/docs/azure/images/documentdb/run-scrapbook.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:408c8d287c4ce1b715890447952f62f7df7e278fa664f9f8f1e8344a1fd0493a +size 23148 diff --git a/docs/azure/mongodb.md b/docs/azure/mongodb.md index bc16ae51ba..85f42cc5fa 100644 --- a/docs/azure/mongodb.md +++ b/docs/azure/mongodb.md @@ -11,13 +11,13 @@ Visual Studio Code has great support for working with [MongoDB](https://www.mong MongoDB support for VS Code is provided by the [DocumentDB for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-documentdb) extension. To install the DocumentDB for VS Code extension, open the Extensions view by pressing `kb(workbench.view.extensions)` and search for 'DocumentDB' to filter the results. Select the **DocumentDB for VS Code** extension. -![TODO Select DocumentDB for VS Code](images/mongodb/install-cosmosdb-extension.png) +![TODO Select DocumentDB for VS Code](images/documentdb/install-documentdb-extension.png) ## Connect to MongoDB Once you've installed the DocumentDB for VS Code extension, you'll notice there is a new **DocumentDB** Activity Bar view. Select the DocumentDB view and you'll see the Explorer. -![DocumentDB explorer](images/mongodb/cosmosdb-explorer.png) +![DocumentDB explorer](images/documentdb/documentdb-explorer.png) To connect to a MongoDB-compatible database: @@ -27,27 +27,23 @@ To connect to a MongoDB-compatible database: * Select **Connection String**, and then enter the connection string in the connection string Quick Pick. - The default connection string for a local MongoDB is `mongodb://127.0.0.1:27017`. - - ![Database Connection setup](images/mongodb/attach-database-account-connection-string.png) + ![Database Connection setup](images/documentdb/attach-via-connection-string.png) * Select **Service Discovery**, choose your provider, and then select **Save & Connect**. - ![Database Connection setup](images/mongodb/attach-database-account.png) + ![Database Connection setup](images/documentdb/attach-via-service-discovery.png) >**Note**: If you're not already signed in to Azure in VS Code, you'll be prompted to do so. This is required to use Service Discovery. Once connected, you can work with the MongoDB server, managing MongoDB Databases, Collections, and Documents. -![attached MongoDB database](images/mongodb/attached-mongodb-database.png) - -You can expand databases to view their collections with their schema and indexes and you can select individual MongoDB Documents to view their JSON. +You can expand databases to view their collections in JSON/ Table/ Tree view with their schema and indexes. -![open mongodb document](images/mongodb/open-document.png) +![manage mongodb database](images/documentdb/manage-database.png) You can also attach a MongoDB shell to the active connection, simply by right-clicking on the connection itself. -![MongoDB Connection](images/mongodb/connection.png) +![MongoDB Connection](images/documentdb/launch-shell.jpeg) >**Note**: Make sure the MongoDB shell (`mongo` or `mongosh`) [is installed](https://docs.mongodb.com/mongodb-shell/install#mdb-shell-install) and is on your path. In the extension's settings, you can choose which shell you are using. @@ -58,21 +54,18 @@ The **DocumentDB Scrapbook** is one of the most powerful features of this extens ### Create a New Scrapbook 1. In the DocumentDB Explorer, right-click the desired collection. -1. From the menu, select **Create Scrapbook**. +1. From the menu, click **DocumentDB Scrapbook** and select **New DocumentDB Scrapbook**. -![new mongo Playground](images/mongodb/new-mongo-scrapbook.png) +![launch documentdb scrapbook](images/documentdb/create-scrapbook.png) In a scrapbook, you can reference MongoDB entities and commands and you get rich IntelliSense as you type. Scrapbooks are useful for prototyping database operations and queries. Execute selected lines in the scrapbook queries with **Run Command**. -![mongodb Playground](images/mongodb/scrapbook.png) - -![Run Playground queries](images/mongodb/run-playground.png) +![Run scrapbook queries](images/documentdb/run-scrapbook.png) ## MongoDB on Azure DocumentDB -You can easily create a managed MongoDB cluster on Azure for **Free** with [Azure DocumentDB](https://learn.microsoft.com/azure/cosmos-db/mongodb/vcore/quickstart-portal). +You can easily create a managed MongoDB cluster on Azure for **Free** with [Azure DocumentDB](https://aka.ms/documentdb). -![Create Azure Cluster](images/mongodb/create-azure-cluster.png) ## Next steps From 9e1ef2ec2f60ad288ad2740e56e05523f982cc97 Mon Sep 17 00:00:00 2001 From: Khelan <141972056+khelanmodi@users.noreply.github.com> Date: Wed, 12 Nov 2025 08:41:29 -0800 Subject: [PATCH 4/6] Update mongodb.md --- docs/azure/mongodb.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/mongodb.md b/docs/azure/mongodb.md index 85f42cc5fa..4addb73a9b 100644 --- a/docs/azure/mongodb.md +++ b/docs/azure/mongodb.md @@ -11,7 +11,7 @@ Visual Studio Code has great support for working with [MongoDB](https://www.mong MongoDB support for VS Code is provided by the [DocumentDB for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-documentdb) extension. To install the DocumentDB for VS Code extension, open the Extensions view by pressing `kb(workbench.view.extensions)` and search for 'DocumentDB' to filter the results. Select the **DocumentDB for VS Code** extension. -![TODO Select DocumentDB for VS Code](images/documentdb/install-documentdb-extension.png) +![Select DocumentDB for VS Code](images/documentdb/install-documentdb-extension.png) ## Connect to MongoDB From 36e427e924a258378ac6f9b728e675f8bd02110e Mon Sep 17 00:00:00 2001 From: Khelan <141972056+khelanmodi@users.noreply.github.com> Date: Wed, 12 Nov 2025 08:43:04 -0800 Subject: [PATCH 5/6] Update mongodb.md --- docs/azure/mongodb.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/azure/mongodb.md b/docs/azure/mongodb.md index 4addb73a9b..e53af906f5 100644 --- a/docs/azure/mongodb.md +++ b/docs/azure/mongodb.md @@ -66,7 +66,6 @@ In a scrapbook, you can reference MongoDB entities and commands and you get rich You can easily create a managed MongoDB cluster on Azure for **Free** with [Azure DocumentDB](https://aka.ms/documentdb). - ## Next steps * [Azure Extensions](/docs/azure/extensions.md) - The Visual Studio Marketplace has hundreds of VS Code extensions for Azure and the cloud. From c1afe48746b6ea8358db53e56e06b4467aafcab5 Mon Sep 17 00:00:00 2001 From: Khelan <141972056+khelanmodi@users.noreply.github.com> Date: Wed, 12 Nov 2025 08:50:14 -0800 Subject: [PATCH 6/6] Update mongodb.md --- docs/azure/mongodb.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/azure/mongodb.md b/docs/azure/mongodb.md index e53af906f5..fe8805143d 100644 --- a/docs/azure/mongodb.md +++ b/docs/azure/mongodb.md @@ -15,7 +15,7 @@ MongoDB support for VS Code is provided by the [DocumentDB for VS Code](https:// ## Connect to MongoDB -Once you've installed the DocumentDB for VS Code extension, you'll notice there is a new **DocumentDB** Activity Bar view. Select the DocumentDB view and you'll see the Explorer. +Once you've installed the DocumentDB for VS Code extension, you'll notice there is a new **DocumentDB** logo in the Activity Bar view. Select the DocumentDB logo and you'll see the Explorer. ![DocumentDB explorer](images/documentdb/documentdb-explorer.png) @@ -41,11 +41,11 @@ You can expand databases to view their collections in JSON/ Table/ Tree view wit ![manage mongodb database](images/documentdb/manage-database.png) -You can also attach a MongoDB shell to the active connection, simply by right-clicking on the connection itself. +You can also attach a MongoDB shell to the active connection, simply by right-clicking on the connection itself and selecting **Launch Shell**. ![MongoDB Connection](images/documentdb/launch-shell.jpeg) ->**Note**: Make sure the MongoDB shell (`mongo` or `mongosh`) [is installed](https://docs.mongodb.com/mongodb-shell/install#mdb-shell-install) and is on your path. In the extension's settings, you can choose which shell you are using. +>**Note**: Make sure the MongoDB shell (`mongo` or `mongosh`) is [installed](https://docs.mongodb.com/mongodb-shell/install#mdb-shell-install) and is on your path. In the extension's settings, you can choose which shell you are using. ## Using Scrapbook @@ -68,6 +68,7 @@ You can easily create a managed MongoDB cluster on Azure for **Free** with [Azur ## Next steps +* [Index Advisor](https://learn.microsoft.com/azure/documentdb/index-advisor) - Learn how to optimize your MongoDB performance with Index Advisor. * [Azure Extensions](/docs/azure/extensions.md) - The Visual Studio Marketplace has hundreds of VS Code extensions for Azure and the cloud. * [Deploying to Azure](/docs/azure/deployment.md) - Learn step-by-step how to deploy your application to Azure. * [Working with Docker](/docs/azure/docker.md) - Put your application in a Docker container for easy reuse and deployment.