一、简介
从官网 https://www.mongodb.com/download-center?jmp=nav#community 下载相应平台及版本的 mongodb,解压后的 bin 文件夹中有多个可执行文件,其中 mongod 是服务程序, mongo 是客户端程序。
通过执行 mongod 即可运行起 mongodb 服务,默认使用端口是 27017,同时 mongodb 还会启动一个 HTTP 服务(获取数据库管理信息),该 HTTP 服务的端口号默认比 mongodb 服务的端口号高 1000, 即 28017 端口。启动 mongodb 服务前需要确保 /data/db 目录存在且有写入权限,因为 mongdb 的数据会默认存储在这里。
mongodb 的客户端 shell 是一个功能完备的 JavaScript 解释器,可以运行任意 JavaScript 程序。客户端 shell 默认启动时会连接到 test 数据库,并将数据库连接赋值给全局变量 db (在使用 use 命令切换数据库后,该 db 也会切换到相应的数据库连接上),这个变量就是后面 shell 访问 mongodb 的主要入口点,通用的操作是 `db.集合名.命令函数`。
mongodb 使用的数据类型,并不是简单的完全 JSON 类型,JSON 类型只包含 null、布尔、数字、字符串、数组和对象这 6 种,mongodb 在此基础上,增加了一些其它的数据类型如 日期、正则表达式、内嵌文档、对象id、二进制数据和代码。
mongodb 使用 ObjectId 作为 _Id 的默认类型(由时间戳+主机名散列值+PID+自增数字组成),它相当于 GUID 全局唯一码,而不采用更常用的自增主键的原因在于,mongodb 最初就是为了分布式而设计的,所以在分片环境中生成唯一标识符就显得格外重要。
二、基本操作
insert
remove
update
find
findOne
三、安全与配置
mongodb 默认是没有启用帐号安全的,如阿里服务器会将其视为漏洞。
先进入 mongo 命令行,执行:
db.createUser({user:"root",pwd:"yourpassword",roles:["root"]})//下面查看一下是否设置成功db.getCollectionNames() db.auth("root","yourpassword") //返回1就是成功
然后重启 mongod 服务,注意启动时带上 --auth 参数,开启权限校验功能即可。