MongoDB for VS Code
MongoDB for VS Code lets you easily work with MongoDB directly from your VS Code environment. Using the MongoDB extension, you can:
- Connect to a MongoDB instance or cluster
- Navigate your databases and collections
- Prototype queries and aggregations
You can install the MongoDB extension from inside of VS Code via the VS Code Extension Marketplace. Help us improve the MongoDB for VS Code by posting your ideas and suggestions for improvements.
21 results found
-
Conditional confirmation prompt
I want to configure which connection should have a confirmation prompt before running a playground command. For ex., no prompt for the development database, yes prompt for the production database.
8 votes -
Option to disable comments for aggregation stages
Detailed Description
Option to disable comments for aggregation stages by default. I would assume that link to documentation website will make more sense, considering complexity of aggregation stage use cases. And even that should be optional.
Context
I run a lot of quick aggregations to get data insights, comments are just wasting 50% of playground's screen space and not too helpful for me.
6 votes -
Display the time it took for queries
Similar to any other MongoDB tool, I would like to know how much it took me to run the specific query/count and so on.
It would be nice to also have a timer that indicate how much time it been running for (when the query taking too much time).4 votes -
Use Ctr-Enter to execute instuction where the cursor is.
Currently, is kind of tedius to execute a targeted line. Other editors accept Ctl-Enter to execute the line, which is very convenient.
4 votes -
Print Logs As They Happen, Not At End of Script
Hi,
When I add a
print
line in mongosh, that line is executed as it is reached. For example, if I add it within a loop, it prints for every iteration in a loop. However, in a VS Code Playground, it only prints when the Playground has finished executing.I'd like to request that the VS Code extension allows for
print
troubleshooting anywhere within a Playground as it is executed, not just at the end.3 votes -
Reuse db connection
It's much slower than other mongodb clients like Robo 3t every time I run a query, it seems that it create a new connection to the database and then executes the query. Is there any way to keep and reuse an existed connection so that to speed up the query executions?
3 votes -
Change Object ID display format from '{$oid: 'xxxx'}' to ObjectId('xxxxx')
It just uses only 1 line instead 3 lines. And we can copy it directly.
3 votes -
Connection based "theming"
Add the ability to color code playground tab and/or editor's background color in the playground based on the connection that is active.
Eg: default background for my localhost connection and a more colorful one for staging environment or production ones even.
3 votes -
New Playground Result tab for each query
When two playgrounds are run at once (e.g. two aggregations), the result of one overwrites the result of the other rather than opening a new 'Playground Result' tab.
The desired behaviour is for a new Playground Result tab to be opened per run (preferably numbered 'Playground Result 1', 'Playground Result 2', etc.
3 votes -
ability to run to a specified aggregation stage and see output
Essentially the same as https://mongoplayground.net/
if you add multiple aggregation stages you can pick which one you want to run up to, and inspect the output.
This makes it dramatically easier to tweak larger pipelines without having to comment further stages out.
2 votes -
Add ObjectId() to intellisense
Add ObjectId() to .mongodb intellisense / autocomplete when indicating that an _id field is of ObjectId type
2 votes -
Intellisense for playground code
Hovering over getCollection and other supported methods doesn't show any intellisense. This would save us time from having to go to the docs and looking that method up. Also the sort method which I think its a normal JavaScript method doesn't show intellisense inside playground so please add some intellisense.
2 votes -
Graph Visualizer
Be able to visualize graph relation and nodes and edges.
2 votes -
Configurable playground name/path
Currently, only files ending with .mongodb or .mongodb.js are considered playgrounds. It would be helpful if this was more configurable, perhaps a regex that could be compared against the file path/name so we could consider all files within a folder as playgrounds.
1 vote -
Allow to spin up docker container with playground DB directly from VS Code
When a docker installation is detected on the system, allow to directly spin up a new mongoDB in docker and connect to it.
When that option is chosen automatically create a new container with the mongodb:latest docker image, a fixed username (e.g. "dev") and a random 16 chars password
When the port 27017 is already in use, ask the user which port the container should bind.
Then add the connection to the connections list, connect immediately and open the connection's tree item first hierarchy so I can start adding a database on the serverI want to be able to…
1 vote -
Add ability to go from Extended JSON to JS and vice-versa.
It would be nice to have a way to take an expression in EJSON and convert it to "plain" JS.
The motivativation is that sometimes we get large blocks of aggregation pipelines already in EJSON, but want to express them as JS code without EJSON, or vice-versa.
A command / shortcut / refactor method to highlight some text that is in format A and convert to format B would be nice.
{x: {$ne: {"$objectid": "AAAAAAAABBBBBBBBCCCCCCCC"}}} -------------^^^^^^^^^^^^^^^^^^ "Convert From EJSON..." {x: {$ne: ObjectId("AAAAAAAABBBBBBBBCCCCCCCC") }}
1 vote -
Query delimiter lines in playgrounds
Much like the REST Client extension allows you to add delimiters (in their case three or more #) between requests, it would be good if this extension offered something similar so that you can easily run individual queries or sets of queries in files containing multiple. So my playground looked something like below, clicking the play button when the mouse cursor is above the delimiter executes the first statement and when below the second.
use('db1')
db.collection1.find({})//////
use('db2')
db.collection2.find({})1 vote -
Handle 64bit numbers correctly
Javascript doesn't support 64bit internally, so if I try in Chrome/console: x = 285870311191169181, it becomes 285870311191169180, and the same thing happens in VS Code.
The solution would be to return a NumberLong("285870311191169181") text result.
In fact, it seems to be an issue in Compass as well... but it works in mongo shell.
Check the screenshot.1 vote -
Code linting when you save a .mongodb file
It would be nice to have the code cleaned up when you save a .mongodb file
1 vote -
Translate Code
Directly translate code (MQL / SQL) to (MQL, SQL, .NET, Python...etc.) to cover all supported drivers.
1 vote
- Don't see your idea?