MongoDB-ShowDBS

MongoDB-ShowDBS,mongodb,Mongodb,我理解mongodbshow dbs仅列出未列出的dbs 空的。为什么这一基本原理以及为什么它以这种方式实施会令人困惑 一个典型的db用户想要从其他db世界转移到这个mongo 世界。为什么他们不直接展示所有的星展呢 重新措辞: 安装mongodb实例后,我登录MongoShell并发出命令showdbs,但它没有列出默认的db,即test。为什么? MongoDB惰性地评估数据库。如果每次用户说db=client[“someDBName”]时,一个完整的数据库实例就活跃起来了,那么就会有很多空

我理解mongodb
show dbs
仅列出未列出的dbs 空的。为什么这一基本原理以及为什么它以这种方式实施会令人困惑 一个典型的db用户想要从其他db世界转移到这个mongo 世界。为什么他们不直接展示所有的星展呢

重新措辞:
安装mongodb实例后,我登录MongoShell并发出命令
showdbs
,但它没有列出默认的db,即
test
。为什么?

MongoDB惰性地评估数据库。如果每次用户说
db=client[“someDBName”]
时,一个完整的数据库实例就活跃起来了,那么就会有很多空数据库掩盖了其中包含数据的数据库。相反,客户端和服务器会延迟数据库的创建,直到创建集合为止。在Python中,可以使用
create\u collection
命令强制创建数据库和集合,如下所示:

>>> import pymongo
>>> c=pymongo.MongoClient()
>>> c["dummydb"].create_collection("dummycol")
Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'dummydb'), 'dummycol')
>>> c["dummydb"].list_collection_names()
['dummycol']
>>> c.list_database_names()
['admin', 'bonkers', 'census', 'config', 'dummydb', 'dw', 'local', 'logdb', 'test']
>>> import pymongo
>>> c.list_database_names()
['admin', 'census', 'config', 'dw', 'local', 'logdb', 'test']
>>> c=pymongo.MongoClient()
>>> c["dummydb"].create_collection("dummycol")
Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'dummydb'), 'dummycol')
>>> c.list_database_names()
['admin', 'census', 'config', 'dummydb', 'dw', 'local', 'logdb', 'test']
>>>

你的问题是什么?如果你不明白我的问题,我就这么说。在mysql和任何其他DB引擎中,如果使用show数据库。它只是列出了dbs,但在mongodb中没有发生同样的事情。为什么?这是我的问题。我不是在要求内部,这取决于每个供应商自己的实现方式。我的简单问题是——某些命令在大多数dbs中都很常见,为什么要更改规范。我不确定这是否是解决这个问题的合适论坛。正如您所说,MongoDB的人就是这样选择实现的,我建议询问他们的支持团队。