Как отобразить весь список доступных баз данных, даже если он не используется в mongoDB? - PullRequest
0 голосов
/ 17 января 2019

Как отобразить весь список доступных баз данных, даже если он не используется в mongoDB или у него нет коллекции, даже если у него нет пользователей во вновь созданной базе данных?

> show dbs;
STUDENT  0.000GB
TEACHER  0.000GB
admin    0.000GB
config   0.000GB
local    0.000GB
test     0.000GB
> use newtest
switched to db newtest
> show dbs;
STUDENT  0.000GB
TEACHER  0.000GB
admin    0.000GB
config   0.000GB
local    0.000GB
test     0.000GB

Здесь я сначала перечислил все базы данных после создания новых, пытался заново отобразить все базы данных, но не показывал здесь, почему?

Ответы [ 2 ]

0 голосов
/ 18 января 2019
  • Базы данных создаются и существуют после вставки первого документа в коллекцию в базе данных. Базы данных и коллекции создаются неявно; однако создание базы данных или объекта коллекции в вашем клиенте не создает базу данных или коллекцию. Использование не создает новые файлы базы данных.

  • Пустые базы данных не перечислены в выходных данных show dbs. Это частично зависит от механизма хранения. MMAPv1, невозможно иметь существующую, но пустую базу данных: вы не можете создать базу данных, кроме как путем вставки данных. Даже если вы позже отбросите эти данные, остается небольшое количество внутренних накладных расходов. Единственным исключением является то, что до версии 3.0 в некоторых случаях команда show dbs сообщала, что база данных администратора пуста, но не было соответствующей. WiredTiger не сообщает о базах данных, в которых нет данных, другие механизмы хранения могут иметь здесь другое поведение.

0 голосов
/ 17 января 2019

use newtest не создает БД, он просто устанавливает контекст БД для последующих команд.

Вы должны написать что-то в БД, чтобы это было создано; например:

> use newtest
switched to db newtest
> show dbs
admin            0.000GB
config           0.000GB
local            0.000GB
> db.test.insert({a: 1})
WriteResult({ "nInserted" : 1 })
> show dbs
admin            0.000GB
config           0.000GB
local            0.000GB
newtest          0.000GB
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...