mongodb-js / compass Goto Github PK
View Code? Open in Web Editor NEWThe GUI for MongoDB.
Home Page: https://mongodb.com/compass
License: Other
The GUI for MongoDB.
Home Page: https://mongodb.com/compass
License: Other
While attempting to connect via SSH tunnel using an identity file and passphrase on the latest stable community version, I was only able to get it to work with an RSA key encrypted with AES-128-CBC
or DES-EDE3-CBC
. It failed to work with AES-192-CBC
, AES-256-CBC
, or with an openssh private key.
I got a variety of errors when using these other ciphers, including Uncaught Error: Expected 0x2: got 0x18
, Uncaught Error: encoding too long
, and Uncaught Error: Cannot parse privateKey: Unsupported key format
.
Please add support at least for at least longer key lengths of AES, and potentially for other ciphers and key formats.
Is there a way to execute the aggregation I've built and get the results in Compass?
The aggregation builder is a great feature to have and brings Compass at par with famous softwares like Studio 3T. There is however, no way to actually execute the aggregation I've built inside Compass or at least have a shell where we can type commands. Even the docs suggest running them using mongod
.
With the already fantastic support for auto-completion and aggregation pipeline builder, it'd be great to have the ability to actually execute aggregations inside Compass. And now that Compass is open source, it's great that the MongoDB community doesn't have to resort to expensive tools like Studio 3T for interacting with their database on a daily basis. Looking forward to see Compass catch up with Studio 3T features soon!
When opening compass on mac it does not create a window, I have to go in the menu bar in top and select connect > connect to
before a window displays.
When I click the compass icon in doc, It is hard to see if compass has opened & if I use multiple monitors it is only visible in the menu bar on one of the multiple monitors.
Execute connect > connect to
by default when clicking the doc icon on mac if no windows is already open.
Mongodbcompass: 1.20.5
Kubuntu: 19.04
None of my connections/settings are stored, when I restart the app my favorite or recent connections are lost
I'm getting this error:
Remote error from secret service: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files
(node:10188) UnhandledPromiseRejectionWarning: ReferenceError: error is not defined
at /usr/share/mongodb-compass-community/resources/app.asar/node_modules/storage-mixin/lib/backends/secure-main.js:87:42
WIth a bit of research I found a similar issue Foundry376/Mailspring#681
sudo apt install gnome-keyring
solved the issue but adding it as a dependency would be a good idea
Hi all I was wondering if there is any intention to have Mongo Compass run natively on macOS/AArch64.
Currently I have gotten it running using Rosetta 2, but this has obvious flaws(huge battery consumption to start with). It would be really awesome if there could support for the new m1 Macs.
I am not sure what work this would take, but if there is anything you need to provide or do please let me know. If there could be an issue tracker for this that would be great!
Thanks
(ve)tr@enter:~/Documents/integrations/code/scout$ npm start
> [email protected] start /Users/tr/Documents/integrations/code/scout
> gulp start
[16:19:26] Using gulpfile ~/Documents/integrations/code/scout/gulpfile.js
[16:19:26] Starting 'start'...
> [email protected] /usr/local/bin/npm run-script develop /Users/tr/Documents/integrations/code/scout/scout-ui
> [email protected] /usr/local/bin/npm run-script start /Users/tr/Documents/integrations/code/scout/scout-server
> [email protected] /usr/local/bin/npm run-script start /Users/tr/Documents/integrations/code/scout/scout-electron
[16:19:26] Finished 'start' after 21 ms
> [email protected] start /Users/tr/Documents/integrations/code/scout/scout-electron
> gulp start
> [email protected] start /Users/tr/Documents/integrations/code/scout/scout-server
> DEBUG=sco*,mon* nodemon --no-stdin --watch lib bin/scout-server.js
> [email protected] develop /Users/tr/Documents/integrations/code/scout/scout-ui
> gulp develop
14 May 16:19:29 - [nodemon] v1.3.7
14 May 16:19:29 - [nodemon] to restart at any time, enter `rs`
14 May 16:19:29 - [nodemon] watching: /Users/tr/Documents/integrations/code/scout/scout-server/lib/**/*
14 May 16:19:29 - [nodemon] starting `node bin/scout-server.js`
[16:19:30] Using gulpfile ~/Documents/integrations/code/scout/scout-electron/gulpfile.js
[16:19:30] Starting 'start'...
[16:19:30] Finished 'start' after 1.06 ms
events.js:85
throw er; // Unhandled 'error' event
^
Error: spawn /Users/tr/Documents/integrations/code/scout/electron/out/R/Scout.app/Contents/MacOS/Scout ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1046:32)
at child_process.js:1137:20
at process._tickCallback (node.js:355:11)
npm ERR! Darwin 14.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run-script" "start"
npm ERR! node v0.12.0
npm ERR! npm v2.5.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `gulp start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'gulp start'.
npm ERR! This is most likely a problem with the scout-electron package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! gulp start
npm ERR! You can get their info via:
npm ERR! npm owner ls scout-electron
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/tr/Documents/integrations/code/scout/scout-electron/npm-debug.log
< [email protected] /usr/local/bin/npm run-script start exit 1
[16:19:34] Using gulpfile ~/Documents/integrations/code/scout/scout-ui/gulpfile.js
[16:19:34] Starting 'pages'...
[16:19:34] Starting 'assets'...
[16:19:34] Starting 'less'...
[16:19:34] Finished 'pages' after 216 ms
scout ready to get to work
open http://127.0.0.1:29017
When install mongoDB compass in windows OS it not start properly. Loading page stuck and error message throw in dev console
I read about it on jira,mongodb.org and only few people get this error.
Program should run without error
Yeah, I solved this issue.
Let me tell you why this happen?
MongoDB compass is made using electron and electron have one dependency with name windows-release
. All this problem is produced by this dependency.
windows-release
have two commands to check OS name
wmic os get Caption
Get-CimInstance -ClassName Win32_OperatingSystem
When this module try to find os name, it generate error. Because wmic.exe
file's path not added in Environment variables
and Get-CimInstance
is may be old.
Solution
I found Get-CimInstance
command may be old (not sure) so we don't need to do anything with it.
But wmic
is a executable file in C:\Windows\System32\wbem
. If we add this file's path in our environment variable, then error will resolve, too simple.
This is not code issue, but i got this issue yesterday, i try to found solution on internet but i can't find anything. So I try myself, follow codebase and finally found this solution.
Say people to do this so they can remove error and use your greate product.
I hope people's problem will resolve.
๐
Document count is currently not re-freshed when pressing "REFRESH". Instead I need to close the Documents tab and re-open it to see the current Document count.
See above, "Refresh" should "refresh" the whole view.
I like to see if I create or delete objects in the background. Always closing and re-opening the tab is not a nice user experience.
New Tab button seems too far to reach and easy to miss.
Almost every application with tabs seems to have the new tab button right next to the last tab.(Chrome, Firefox etc.,)
Although this doesn't have to do with actual functionality I personally keep missing the tab button. I'm no UX expert but it seems keeping it right next to the last tab feels familiar and easier.
Please consider making it Chrome-like tabs.
Is there a way to disable a plugin in Compass?
I see in the Installed Plugins
window a list of all the plugins, with little check marks next to each.
but no way to disable any of them.
I couldn't find anything in the official docs...
Why do I want to disable a plugin?
when working against a remote DB, theCollection Stats
plugin really slows me down. (tabs take a few seconds to load since it does a count query on the collection)
Thanks :-)
comments comments comments comments. please.
It doesn't take much more time to write a few sentences, but it saves hours for other contributors.
For example: https://github.com/10gen/scout/blob/dev/scout-server/lib/io.js
What is this file's purpose? what does it do? Who calls/uses it?
It would be great if we could set an alias to an given connection on Compass. When you have several connections to different servers, you need to memorize what each ip address stands for.
When creating an object, via compass it's not possible to create keys that use dots.
Here a example: usb-c 3.1
causes an error, when the dot is removed, it works.
The unlogic things happens now. I can edit/update it and add the dot afterwards and it won't show any errors, I hope this is just a bug and not intended to be.
mongodb://<username>:<password>@<host>:<port>/<db>?authSource=admin
.The left panel with the database names and collections can be expanded (and collapsed), but only to a pre-determined width. It can't currently be resized and I'm looking at some quite long database and collection names, so it would be great if it could be resized.
Having a draggable handle for the divider would be ideal.
In Latest update of mongo compass info link open a new Empty tab in browser
When viewing document with object fields as the following example in table view, table headers overlapped and not properly aligned with table cells.
{
"_id": {
"$oid": "5f8e8fae2926d90429ceeddc"
},
"assets": {
"id": "llll",
"race": "mmm"
}
}
The first two headers of table view will overlap each other. See the attached screenshots.
When viewing the field of object type, there's no overlap in the table header.
was not able to increase that number, both in the tutorial and in scout-ui. Changing the size
parameter had no effect. Am I doing something wrong? Or is this hardcoded somewhere?
After install mongodb-compass-1.23.0-win32-x64.msi if you rename any exe to wmic.exe and put it to C:\node_modules\.bin\wmic.exe then launch mongodb compass you can find C:\node_modules\.bin\wmic.exe will be executed by mongodb compass.
As far as I know, this is because mongodb compass used NPM library execa(https://github.com/sindresorhus/execa) for process execution. When you set "preferLocal" to true in this library "C:\node_modules\.bin" will be added to environment path. So if there is a "C:\node_modules\.bin\wmic.exe" then it will be execute by mongodb compass.
C:\node_modules\.bin\wmic.exe should not be executed by mongodb compass.
Set "preferLocal" to false should solve this.
I attached a stack trace in Process Monitor.
On readonly document, the first line objectid cannot be selected because it's covered by document action bar
The ObjectId value "5e6d2e72c59726263bf3d1b4" cannot be selected on readonly mode
The ObjectId value "5e6d2e72c59726263bf3d1b4" should be selected on readonly mode
Change document element's style z-index to make it front on document actions bar,
a fix pull request raised here 283 on project compass-crud, please review and merge @durran
Just spent 30 minutes trying to troubleshoot this.
It seems usernames for mongo db can be case sensitive (which itself was a surprise to me). If a user tries to connect with the correct username but with some letters in the wrong case (MYuSer instead of MYuser) then compass shows a timeout error.
Expected behavior would be either the user is allowed to connect if case sensitivity shouldn't exist in user names. Or display a more accurate error message.
I'm trying to connect to our Atlas clusters via compass.
We have whitelisted a bastion server and want to connect via SSH tunnel through the bastion.
The setup is the following:
Hostname:
Port: 27017
SRV record: False
Authentication: Username/pass
Auth db: admin
In more options:
Read preference: Primary (tried them all)
SSL: System CA
SSH Tunnel: Identity File
SSH hostname: The bastion host domain
SSH port: 22
SSH user name:
Identity file:
I get the message: "Hostname/IP does not match certificate's altnames: IP: 127.0.0.1 is not in the cert's list:"
If I try with unvalidated insecure, I get could not find config for 127.0.0.1
When I use Studio3T (trial) this works perfectly fine.
OSX
Tried both stable and beta2 version (both different error messages but same outcome)
One thing I had to do with Studio3T is fill in a SNI record field and specify the primary cluster domain. Compass doesn't have this option.
Any ideas?
Thanks!
I have connection string to connect mongodb cluster with basic auth and authentication database which I tested with mongo (cli) and Studio 3T that works.
I found that authentication database part in connection string is ignored and I was keep getting auth failed error.
This is the page where I found the connection string specs: https://docs.mongodb.com/manual/reference/connection-string/
Giving connection string mongodb://username:[email protected]:27017/authentication_database
what I experienced is that authentication_database
part is ignored in paste connection string
screen.
Given connection string with basic auth and authentication database, mongodb-compass should connect successfully.
Use Fill in connection fields individually
screen and make sure to fill Authentication Database
field.
Creating a new collection with the dot (".") at the end of the collection name returns an error, but also creates a collection with the dot included. Additionally, you can neither remove or enter into this collection.
I have clicked a "+" in Mongo Compass in order to create a collection named "absences". By mistake I wrote "absences." and clicked "Create". An error was returned, but collection has been created anyway.
Application should not create wrongly spelled collection.
Check error handling.
Compass version: 1.20.4
OS: Windows 2016 server
it is causing a connection timeout everytime when using the favorite after a fresh start.
Clicking again on the favorite while using 'Fill in connection fields individually' link, causes the correct SSL config to load from the saved connection json file
Currently, if you perform a search on a collection, if you press "Find" again the search won't be performed again unless the query has changed.
This doesn't work well when an external system has changed the data and you want to repeatedly query the collection to check for the changes.
When pressing "Find" regardless of whether the search has changed since the last query, a new search should be performed.
Thanks!!
While I can choose x509 authentication for a new mongodb connection it's obviously non functional.
It asks for a "username" while it should offer to load the certificate and key.
I tried to paste the filename but to no avail. The username (DN) does not (and cannot) work either.
Allow the left aggregation column to be resizable.
On the Aggregations Tab, the left column width is always fixed. Can this be made to be resizeable?
Many times aggregation configs get quite complex and long and it is painful to keep horizontally scrolling to see the nested configs.
I'm currently experiencing a problem,
Under linux when I save a connection to my favetorites and then close and repoen the program
the connection saved is gone
by running mongodb-compass from console i saw this error
(node:25335) UnhandledPromiseRejectionWarning: ReferenceError: error is not defined at /usr/share/mongodb-compass/resources/app.asar/node_modules/storage-mixin/lib/backends/secure-main.js:87:42 (node:25335) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 6)
mongodb-compass version: 1.20.5
UPDATE
I've updated to version 1.21 but the problem is still there
Pre-populate collection name while exporting a collection
When I am exporting a collection, a dialog appears asking for the location and file name. The file name field is blank by default.
So according to UX, it's better to have the collection name written there already. Users can edit it if they want to use something else. Recently, I had to export nearly 10 collections and had to write the same names for them every time.
We can pass the collection name to the dialog so it pre-populates it. I would like to work on this if you allow me to. :)
Hi,
Is it possible to launch MongoDB Compass and initiate a database connection, using the command line ?
I'm unsure if this is available or not (can't find it anywhere), but I would like to be able to open a connection through command line. It would open Compass and connect to the provided server.
ex. MongoDBCompass.exe -s myhost-a.com:27017,myhost-b.com:27017,myhost-c.com:27017 -u mongoUser -p mongoPass
We have a bastion host solution which fetches data from our PIM solution, and if the credentials are available in the PIM solution, the whole connection process can be automated, without revealing the password to the user.
Using a Mac with all the latest updates ( os 10.15.2) Mongo Compass Community (Version 1.19.12 (1.19.12))
I have a document that looks something like
{ level1 : "A String"}
when I open the document in mongoDB compass community it is rendered (LIST VIEW) with an additional space at the end of all strings
{ level1 : "A String "}
After upgrading to v1.21.0 I got a problem with connecting to MongoDB instance running on Ubuntu 18.04 via SSH. The response is always "Authentication failed". All credentials are correct.
Tunneling works fine: In mongod logs in Ubuntu I can see "...connection from 127.0.0.1...", but after 15-30 seconds it disconnects, and Compass client gives "Authentication failed".
After downgrading to v1.20.5 it started to work again. v1.21.0 fails both in basic and Community configurations.
Server-side configuration is Ubuntu 18.04:
db version v4.2.6
git version: 20364840b8f1af16917e4c23c1b5f5efd8b352f8
OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
allocator: tcmalloc
modules: none
build environment:
distmod: ubuntu1804
distarch: x86_64
target_arch: x86_64
Client-side configuration is Windows 10 + MongoDB Compass (basic/community)
Not sure if this is the considered behavior or a security bug(concern).
In the connection window, password are saved but not visible to user. However, the password can be seen using DevTools.
Currently, password can be seen using DevTools.
ctrl+alt+i
or Click on View > Toggle dev tools
I understand that you need the saved password to make the connection work, but if it's OK to let the user see it, there should a toggle button to let the user actually see it without using DevTools. This kind of data is sensitive and should not be exposed to user this easily. A local attacker might see the password fast and store it somewhere for further usages.
It should be harder for end user to see the password.
Some possible mitigations are:
Hello,
I'm currently using MongoDB Compass (version 1.20.5) for work on Windows 10. When I launch find with 'sort' and 'filter', the result i get in the GUI is correct, but once I try to export the data with that same query it doesn't work at all. I tested for 'sort' alone, it didn't work too, but for 'filter' alone It worked.
Is this an issue in Compass or is there a way for me to fix it?
Thank you!
There is no way for a full export of a collection!
Basing the included fields of an JSON export based on a sample is clearly a BUG and NOT A FEATURE.
Please include this again.
Instead of just going back <
and forward >
in the documents view, it would be great to have a "move to the end" button >>|
to see the latest documents. I personally have better things to do than click 1854 times on >
.
Very easy, see summery above. Every single blog on the Internet has this "move to the end" button.
I would use it to see latest documents in my collection.
When I try to connect to mongodb server that have 14MB for each document (like a document that have one binary field) in the collection (around 10 documents is enough to trigger this behavior) the hosted mongodb atlas in *.mongodb.net will report error as matched documents exceed 100MB and they do not fit into the RAM - even if the client passes allowDiskUse:true the hosted server will ignore this.
When this happens Documents tab on it's initial load will show there is no documents and on the bottom it will popup line bar saying loading error from server (I need to then use projection to exclude the document field that is the huge binary data in order to load the set)
As this is fine - e.g. I could alter the query to not load more stuff into the result set it would be beneficial to try to load documents by using id only projection at least to see some documents and have some warning that a projection was used as having No Documents seems like the collection is empty if no one pay attention to the warning loading error that disappear after some time
As for Aggregate tab - this is where it is not usable as the tab will not render any content into itself - e.g. it will be empty so a client of mongodb UI can't use this tab at all - I can't change the filter/aggregate etc
At least fix Aggregate tab to work - e.g. to be able to add aggregation and test it out
Have ability to use aggregations even if the documents in mongodb are huge
I'm using Windows version of MongoDB Compass Comunity UI version 1.20.3
don't activating MongoDB compass on windows 10
why?
I would like the mongodb-js/compass to work in a way in which one can visit a link (http://127.0.0.1:27017) in their web browser to access Compass. When the user pulls down the Github they would simply git clone the project, install dependencies with npm install, start the app with npm start and then visit http://127.0.0.1:27017 in their browser. My usage is for when I dockerize mongodb-js /compass, an run the container it would be listening on http://127.0.0.1:27017 in which I could expose it with a node port for a user to access via their web-browser.
As of 23.01.2020, MongoDB Compass does not support $regexFindAll and $regexFind operators. Trying to use 'em within $addFields simply produced:
Expected "[" or AggregationStage but "{" found.
Problem Description
On version 1.22.1 it was still possible to connect with x509 (user) authentication to cluster db.
However, after upgrade to 1.24.1, it stopped to work.
Steps to Reproduce
Expected Results
Connects
Actual Results
"Auth failed" error
Additional Notes
Works perfectly on 1.22.1 Compass version, and on mongo cli.
Allow MongoDB Compass to update a document's field when the collection has a sharded key. Currently, you have to use the MongoDB shell or client driver.
Include the sharded index key/value when you're trying to update the document
We'll one of the selling points for me when it comes to GUIs like this is the ability to manipulate the data as I please. This issue is preventing me to do it.
My approach would be to use the indexInformation method to get the sharded index data and include it in the DB update command.
In this post, you can see the current shell implementation example.
https://stackoverflow.com/questions/60164435/mongodb-update-field-of-sharded-collection-using-compass
When I input, the cursor position is always a few characters away from the position I am editing.
Any Input text aera you can try, I have always been like this.
The cursor position is on my edit position
Defect - Data import does not support nested structures anymore as of 1.21.0
Since the release of version 1.21.0, when importing data into a collection where the data for a field is a JSON, content for the field is treated as a string by default and none of the selectable field types seem to be for JSON-like objects. This was not an issue on version 1.20.5
Here is a screenshot of the newly released import flow and the different selectable field types, in my case the attribute is an array of strings
As it is working right now, importing an exported collection does not generate as output the same content. This is doable through CLI but it's something that was already supported and now it's not anymore
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.