Docs Menu
Docs Home
MongoDB for VS Code

Explore Your Data with Playgrounds

On this page

  • Prerequisite
  • Open a Playground
  • Run a Playground
  • Code Formatting and Linting Tools
  • Log to Console from a Playground
  • Tutorials
  • Consideration for Authentication

MongoDB Playgrounds are JavaScript environments where you can prototype queries, aggregations, and MongoDB commands with helpful syntax highlighting.

MongoDB Playgrounds provide intelligent autocomplete for:

  • The Mongo Shell API

  • MongoDB keywords, operators, aggregation stages, database, collection, and field names.

  • Any JavaScript variables or keywords.

You can save playgrounds in your workspace and use them to document how your application interacts with MongoDB. MongoDB for VS Code interprets files with the .mongodb.js extension as playgrounds.

Starting in version 0.11.0 the default file extension for MongoDB Playgrounds files is .mongodb.js. Previous versions of MongoDB Playgrounds use the default file extension .mongodb. MongoDB Playgrounds support both file extensions.


You can also use your application to perform CRUD operations on documents using the appropriate driver. Playgrounds are meant to help you prototype database operations as you develop your application.

MongoDB for VS Code splits your Playground window to display your Playground Result in the right-side pane. You can perform one of two actions on the result depending on the query you ran in the Playground.

  • You may save any Playground Result to a file.

  • You may edit any JSON document that MongoDB for VS Code returns in the Playground Result from a findOne or find query.

    MongoDB for VS Code returns these results in JSON format with JSON syntax highlighting. Each JSON document has an Edit Document link at its top.

    1. Click Edit Document at the top of the document you want to edit.

      MongoDB for VS Code opens this one JSON document in a new window as an editable document.

    2. Make any changes you need.

    3. Press Ctrl+S (Cmd+S on macOS) to save those changes in the database.

To run a playground, you must connect to a MongoDB deployment using MongoDB for VS Code. To learn how to connect to a deployment, see either:

You can create a new playground from the Playgrounds panel, the MongoDB for VS Code Overview page, or the Microsoft Visual Studio Code Command Pallette.

If you have files in your Visual Studio Code workspace with the .mongodb.js or .mongodb extension, MongoDB for VS Code displays these files in the Playgrounds panel.

Double click a file to open that playground.

To run a playground, click the Play Button in VS Code's top navigation bar. Your playground runs against the deployment specified in your active connection.

If MongoDB for VS Code is not connected to a MongoDB deployment, you can specify a connection string for the deployment you want to run your playground against.

If you have a playground file open in Visual Studio Code and do not have an active connection, MongoDB for VS Code displays Click here to add connection at the top of your playground.


After you click Click here to add connection, MongoDB for VS Code displays the connection string drop-down menu.

Link to add connection from playground
click to enlarge

In the connection string drop-down menu, select Add new connection to enter a new connection string. If you have previously connected to the playground with another deployment, the connection string will appear as an option under the drop-down menu.


Enter the connection string to connect to your deployment.


If the connection string specifies a database the playground runs against that database by default. To switch databases, call use('<database_name>').

If you are connected to a default database, the playground autocompletes only for collection names available on that database.


After you enter your connection string, a CodeLens replaces the Click here to add connection link. The CodeLens includes information on the connected deployment and, if applicable, the current database.



When you connect to a deployment through the playground connection dialog, that connection is added to your MongoDB for VS Code Connections list.

If you select a section of your playground, you may optionally run only the selected portion. You may run either a single line or multiple lines of your playground.

MongoDB for VS Code shows the Run Selected Lines from Playground link immediately above your selected section. Click this link to test and troubleshoot specific lines or sections of your playground.

MongoDB Playgrounds are JavaScript files and can work with popular Visual Studio Code formatting and linting extensions like Prettier and ESLint.

If you use a code formatting extension, MongoDB Playgrounds suggest autocompletion and linting hints for:

  • System variables such as $$ROOT and $$NOW

  • use and db commands

  • Collection names, in bracketed notation such as db["collection"].find({})

  • Alternative commands for shell commands not supported in MongoDB Playgrounds such as show users

For a full list of autocompletion and linting improvements, see the v0.11.1 release notes.

MongoDB for VS Code supports the following methods to log messages to the console. Logged messages appear in the Output panel in VSCode.

  • console.log()

  • print()

  • printjson()

Logging to the console can be useful to track the output of certain commands in your playground, such as results after a particular query or aggregation.

If your deployment requires authentication, your database user privileges may affect the actions you can perform using MongoDB for VS Code.

← Navigate Your Data