我是MongoDB的初学者,我有一些问题:
当我连接到Mongo并执行show dbs
时,我看到了2个数据库:admin
和local
。他们的角色是什么?然后,如果我执行db.foo.insert({"value":"mongo"})
之类的插入命令,则会出现test
数据库。为什么?如何为数据库指定自定义名称?
使用show dbs
我获取数据库(在某种程度上像sql中的show databases
),我怎样才能在数据库中列出集合(我会在sql中使用show tables
)
执行命令时,MongoDB教程始终使用db
对象。它是主要对象(一种“连接”对象)必须用于执行命令还是其他东西?
谢谢!
答案 0 :(得分:16)
admin
和local
包含服务器本地的各种设置,例如经过身份验证即可连接的用户。在初学者使用下,您根本不需要担心它们。默认情况下,您连接到名为test
的数据库。要连接到新数据库,只需从mongo命令行use databasename
或从操作系统shell获取mongo databasename
。use [database_name]
然后show collections
db
对象是mongo命令行上当前所选数据库的根句柄。命令行实际上只是一个Javascript命令行,并且有各种特定于mongodb的对象和函数,可以让您执行操作。请尝试help()
获取完整列表。