问题 一些初学者关于MongoDB的问题


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

  1. 当我连接到Mongo时,我执行 show dbs 我看到2个数据库: admin 和 local。他们的角色是什么?然后,如果我执行插入命令,如 db.foo.insert({"value":"mongo"})test 数据库出现。为什么?如何为数据库指定自定义名称?

  2. show dbs 我得到了数据库(不知何故 show databases 在sql)中,我怎样才能列出数据库中的集合(我会用 show tables 在sql)?

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

谢谢!


3011
2017-08-16 02:41


起源



答案:


  1. admin 和 local 包含服务器本地的各种设置,例如经过身份验证以进行连接的用户。在初学者使用下,您根本不需要担心它们。默认情况下,您连接到名为的数据库 test。要连接到新数据库,请 use databasename 来自mongo命令行,或 mongo databasename 来自你的OS shell。
  2. use [database_name] 接着 show collections
  3. db object是mongo命令行上当前选定数据库的根句柄。命令行实际上只是一个Javascript命令行,并且有各种特定于mongodb的对象和函数,可以让您执行操作。尝试 help() 完整列表。

16
2017-08-16 02:54



感谢你的回答。那么“测试”数据库呢,为什么它在创建新集合时总是显示为默认值? - Mark
mongo在切换到它们时隐式创建数据库。在没有参数的情况下启动命令行客户端会自动使用(并创建,如果它还没有存在) test 数据库。您可以通过始终使用参数(要连接的数据库)调用mongo来避免它。 - Chris Heald


答案:


  1. admin 和 local 包含服务器本地的各种设置,例如经过身份验证以进行连接的用户。在初学者使用下,您根本不需要担心它们。默认情况下,您连接到名为的数据库 test。要连接到新数据库,请 use databasename 来自mongo命令行,或 mongo databasename 来自你的OS shell。
  2. use [database_name] 接着 show collections
  3. db object是mongo命令行上当前选定数据库的根句柄。命令行实际上只是一个Javascript命令行,并且有各种特定于mongodb的对象和函数,可以让您执行操作。尝试 help() 完整列表。

16
2017-08-16 02:54



感谢你的回答。那么“测试”数据库呢,为什么它在创建新集合时总是显示为默认值? - Mark
mongo在切换到它们时隐式创建数据库。在没有参数的情况下启动命令行客户端会自动使用(并创建,如果它还没有存在) test 数据库。您可以通过始终使用参数(要连接的数据库)调用mongo来避免它。 - Chris Heald