1.安装mongodb

sudo apt-get update                   # 先进行更新
sudo apt-get install -y mongodb       # 安装mongodb

安装成功后,检查服务是否正常

sudo systemctl status mongodb

若有异常,结果中active会有显示,可以查阅资料解决问题
我们可以通过实际链接到数据库服务器并执行诊断命令来进一步验证

mogo --eval 'db.runCommand({ connectionStatus: 1 })'

会将当前数据库版本,服务器地址和端口及状态命令输出

状态查询,启,停,从起服务期命令和禁止开机自启或设置开机自启的命令如下

sudo systemctl status mongodb
sudo systemctl start mongodb
sudo systemctl stop mongodb
sudo systemctl restart mongodb
sudo systemctl disable mongodb
sudo systemctl enable mongodb

2.连接数据库

mongodb://[username@password@]host1[:pprt1][,host2[:port2], ...[,hostN[:portN]]][/[database][?options]]
  • mongodb:// 这是固定的格式,必须要指定
  • username:password@ 可选项, 如果设置,在连接数据库服务器之后,驱动都会尝试登录这个数据库
  • host1 不许的值定至少一个host, host1是个这URL唯一要填写的。它指定了要连接服务器的地址。如果要链接复制集,请指定多个主机地址。
  • portX 可选的指定端口,如果不填,默认为27017
  • /database 如果指定username:password@, 连接并验证登录指定数据库。若不指定默认打开test数据库。
  • ?options 是连接选项。如果不使用/database, 则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

标准的连接格式包含了多个选项(options),请查阅资料。常用 connectTimeoutMS 可以打开连接的时间, socketTimeoutMS 发送和接受sockets的时间

shell连接数据库实例

xaohuihui@ubuntu:~$ mongo
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
> mogodb://localhost

3.数据库操作

use DATABASE_NAME

如果数据库不存在,则创建数据库并切换到数据库,存在直接切换到指定数据库

刚创建的数据库用 show dbs 命令查看是查不到的,需要插入一些数据,才能展示出来

db.dropDatabase()

删除当前数据库,不知道当前数据库的话,可以用 db 命令查看

> db.createCollection("ticket_info")       # 创建集合, 类似数据库中的表, db.createCollection(name, options) options是可选参数,可以指定有关内存大小及索引的配置选项
> show tables                                                     #  show collections 命令会更准确一点
> show collections
ticket_info
> db.ticket_info.drop()
true
> show collections
>

语法格式:

db.createCollection(name, options)

参数说明:

name: 要创建的集合名称
options: 可选参数, 指定有关内存大小及索引的选项
options 可以是如下参数:

字段 类型 描述
capped 布尔 (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
autoIndexId 布尔 (可选)如为 true,自动在 _id 字段创建索引。默认为 false。
size 数值 (可选)为固定集合指定一个最大值,以千字节计(KB)。如果 capped 为 true,也需要指定该字段。
max 数值 (可选)指定固定集合中包含文档的最大数量。