2010-08-16 64 views
11

问题,我与MongoDB的初学者,我有一些问题:一些初学者的有关MongoDB的

  1. 当我连接到蒙戈,和我执行show dbs我看到2个数据库:adminlocal。他们的角色是什么?然后,如果我执行插入命令,如db.foo.insert({"value":"mongo"}),则会出现test数据库。为什么?我怎样才能为数据库指定一个自定义名称?

  2. 随着show dbs我得到的数据库(在某种程度上就像SQL show databases),我怎么能然后列出一个数据库中的集合(我将使用SQL show tables)?

  3. 执行命令时,MongoDB教程始终使用db对象。它是用于执行命令的主要对象(一种“连接”对象)还是其他东西?

谢谢!

回答

16
  1. adminlocal包含服务器本地的各种设置,例如通过身份验证连接的用户。在初学者的使用下,你根本不需要担心它们。默认情况下,您连接到名为test的数据库。要连接到新的数据库,只需从mongo命令行输入use databasename,或从OS shell输入mongo databasename
  2. use [database_name]然后show collections
  3. db对象是你的根柄上蒙戈条命令行当前选择的数据库。命令行实际上只是一个Javascript命令行,并且有各种mongodb特定的对象和函数可以让您执行某些操作。尝试使用help()获取完整列表。
+0

感谢您的回答。那么“测试”数据库呢,为什么在创建新集合时总是显示为默认值? – Mark 2010-08-16 03:16:42

+0

当您切换到它们时,mongo会隐式创建数据库。在不带参数的情况下启动命令行客户端会自动使用(并创建,如果尚未存在)'test'数据库。您可以通过始终使用参数(您要连接的数据库)调用mongo来避免它。 – 2010-08-16 03:31:42