我的MongoDB中有超过100个数据库 每当我使用show dbs命令时,我的屏幕上都会显示所有数据库名称,并且很难找到特定的数据库 如何仅显示包含特定子字符串的数据库,因为我们可以在MySQL中查询以显示特定数据库(显示数据库,如'%SUBSTR%')查询。
答案 0 :(得分:2)
我们没有这样的选择。但是你可以通过将结果输出到txt文件然后打开它来解决你的问题
$ mongo | tee outnew.txt
在mongo shell中,你可以给show dbs命令并退出。
mongo> show dbs;
mongo> exit
然后使用gedit或excel访问outnew.txt文件。 希望它有所帮助。
答案 1 :(得分:1)
另一种选择是:
> db.getMongo().getDBNames().forEach(
function(databaseName) {
if (databaseName.match(/SUBSTR/i))
print(databaseName);
}
);
> var showdbs = function(pattern) {
db.getMongo().getDBNames().forEach(
function(databaseName) {
if (databaseName.match(new RegExp(pattern, 'i')))
print(databaseName);
});
};
> showdbs('SUBSTR'); // ALL: showdbs();
答案 2 :(得分:0)
如果您使用的是* nix操作系统,则可以运行以下命令。
mongo --eval "db.adminCommand('listDatabases')['databases']" | grep "SUBSTR"
注意:您需要成为管理员才能运行此命令。