有没有一种方法可以关闭Mongo的能力,以便在查询中看到一个数据库或集合时不会偶尔创建它们? 我经常在Mongo控制台上运行查询,并且会因为打错数据库或集合名称而导致Mongo创建它们。 应该有一个开关来让Mongo只显式地创建数据库和集合。 在文档中我找不到这种开关。
有没有一种方法可以关闭Mongo的能力,以便在查询中看到一个数据库或集合时不会偶尔创建它们? 我经常在Mongo控制台上运行查询,并且会因为打错数据库或集合名称而导致Mongo创建它们。 应该有一个开关来让Mongo只显式地创建数据库和集合。 在文档中我找不到这种开关。
明确一点,MongoDB不会在查询时自动创建集合或数据库。对于集合,只有当您实际保存数据到它们时才会自动创建它们。您可以自行测试,在类似下面的数据库中运行先前未知的集合的查询:
要清楚,MongoDB不会在查询时自动创建集合或数据库。对于集合,只有当您实际保存数据到它们时才会自动创建它们。您可以测试此功能,以在类似以下的数据库中运行有关先前未知集合的查询:
use unknowndb
db.unknowncollection.find()
show collections
在您插入或保存数据之前,名称为 "unknowncollection" 的集合不会显示出来。
数据库有点更复杂。简单地使用 "use unknowndb"
不会自动创建数据库。但是,如果在此操作后运行类似于 "show collections"
的命令,则会创建空数据库。
我同意,控制这种行为的选项将非常好。如果您在mongoDB上打开Jira票据,我很乐意投票支持它。