1.6 MongoDB基础知识
不同于关系型数据库MYSQL,MongoDB是非关系型数据库,其基本概念是文档、集合、数据库 。下表将帮助您更容易理解Mongo中的一些概念:
SQL术语/概念
MongoDB术语/概念
解释/说明
database
database
数据库
table
collection
数据库表/集合
row
document
数据记录行/文档
column
field
数据字段/域
index
index
索引
table joins
表连接,MongoDB不支持
primary key
primary key
主键,MongoDB自动将_id字段设置为主键
通过下图实例,可以更直观的了解Mongo中的一些概念:

可以看到MongoDB采用类似Python中的字典的键值对存储结构,十分方便操作。
1. 命令行直接操作MongoDB
与Mysql一样,MongoDB可以直接通过命令行MongoDB Shell执行SQL语句来操作。
1.1 连接MongoDB
在服务器上启动MongoDB服务以后,可以开始连接MongoDB数据库。
标准 URI 连接语法:
mongodb:// 这是固定的格式,必须要指定。
username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
portX 可选的指定端口,如果不填,默认为27017
/database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开 test 数据库。
?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开
如,使用默认端口来连接 MongoDB 的服务。
通过 shell 连接 MongoDB 服务:
使用用户 admin 使用密码 123456 连接到本地的 MongoDB 服务上。输出结果如下所示:
使用用户名和密码连接登陆到指定数据库,格式如下:
连接本地数据库服务器,端口是默认的。
使用用户名fred,密码foobar登录localhost的admin数据库。
使用用户名fred,密码foobar登录localhost的baz数据库。
连接 replica pair, 服务器1为example1.com服务器2为example2。
连接 replica set 三台服务器 (端口 27017, 27018, 和27019):
1.2 创建数据库
MongoDB 创建数据库的语法格式如下:
如果数据库不存在,则创建数据库,否则切换到指定数据库。
以下实例我们创建了数据库 new_mongodb_test:
如果想查看所有数据库,可以使用 show dbs 命令:
其中admin,config,local是安装MongoDB后自动创建的数据库。
admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 new_mongodb_test数据库插入一些数据。
MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中。
1.3 插入文档
MongoDB的文档document可以理解为Mysql中的row,但是其结构不一样,document和Json一样,都是键值对结构。所有存储在集合中的数据都是BSON格式。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
MongoDB使用 insert()或 save() 方法向集合中插入文档,语法如下:
如:以下文档可以存储在 MongoDB 的 runoob 数据库 的 col 集合中。
以上实例中 col 是集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档, 查看已插入文档:
也可以将数据定义为一个变量,如下所示:
执行后显示结果如下:
执行插入操作:
插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
关于一些更详细的内容可以到官网与runoob上查看。
1.4 使用GUI工具查看MangoDB
下载安装Robot 3T工具即可查看MongoDB数据库里的数据,也可以在它上面执行sql语句,十分方便。下载地址:https://robomongo.org/
Last updated