Linux在线安装Mongodb

864 阅读4分钟
  • 携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情

1. 下载源码包

执行命令安装Mongodb所需依赖

sudo yum install libcurl openssl

下载源码包,官网地址:MongoDB

在这里插入图片描述

我这里选择linux版本最新6.0.0的,下载命令如下

 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.0.tgz

解压

tar -zxvf mongodb-linux-x86_64-rhel70-6.0.0.tgz  

将解压包拷贝到指定目录

mv mongodb-linux-x86_64-rhel70-6.0.0 /usr/local/mongodb

2. 配置环境变量

执行命令:

vi /etc/profile

在最下面添加配置内容

export MONGODB_HOME=/usr/local/mongodb  // mongdb安装的目录
export PATH=$PATH:$MONGODB_HOME/bin

刷新环境变量

source /etc/profile 

3. 安装Mongodb

创建data文件夹用于后续数据库信息保存

cd /usr/local/mongodb
mkdir data

创建log文件用于保存数据库日志,这里创建的是文件,不然启动时会报错。

touch log

4. 修改mongodb配置文件

cd /usr/local/mongodb/
mkdir config
cd config

设置配置文件

vi mongod.conf

写入以下内容

storage:
    dbPath: "/usr/local/mongodb/data"
systemLog:
    destination: file
    path: "/usr/local/mongodb/log"
    logAppend: true
net:
    port: 27017
    bindIp: 0.0.0.0
processManagement:
    fork: true

5. 启动mongodb

执行启动命令,在上面的配置文件目录下

 mongod --config mongod.conf

如图启动成功 启动完成后访问ip+端口,如:http://127.0.0.1:27017 在这里插入图片描述 页面展示上图内容即为成功

6. 使用mongodb

安装好后了进行调试一下,使用Nosql客户端或者带有Mongodb可连接的Navicat客户端连接我们安装好的服务端,默认是没有密码的 在这里插入图片描述 建立连接完成后就需要执行mongodb的各项操作了

  • 创建数据库
# 使用命令行执行以下命令创建demo数据库
use demo
  • 删除数据库
# 切换到demo数据库
use demo
# 执行删除命令
db.dropDatabase()
  • 创建集合
# 创建test集合
db.createCollection('test')

上面是创建个默认的集合,集合的可选参数是options参数定义的

options 可以是如下参数:

字段类型描述
capped布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。
autoIndexId布尔3.2 之后不再支持该参数。(可选)如为 true,自动在 _id 字段创建索引。默认为 false。
size数值(可选)为固定集合指定一个最大值,即字节数。如果 capped 为 true,也需要指定该字段。
max数值(可选)指定固定集合中包含文档的最大数量。
  • 创建固定集合mycol
# 整个集合空间大小 6142800 B, 文档最大个数为 10000 个。
db.createCollection("mycol", { capped : true, autoIndexId : true, size : 
   6142800, max : 10000 } )
  • 删除集合
db.[集合名称].drop()
  • 新增数据save
# 如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替。
db.[集合名称].save(document)
  • 新增数据insert
# 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。
db.[集合名称].insert(document)
  • 更新数据update
db.[集合名称].update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  1. query : update的查询条件,类似sql update查询内where后面的。
  2. update : update的对象和一些更新的操作符(如,,inc...)等,也可以理解为sql update查询内set后面的
  3. upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  4. multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  5. writeConcern :可选,抛出异常的级别。
  • 删除数据remove
db.[集合名称].remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  1. query :(可选)删除的文档的条件。
  2. justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
  3. writeConcern :(可选)抛出异常的级别。
  • 查询数据find
db.[集合名称].find(query, projection).pretty()

参数说明:

  1. query :可选,使用查询操作符指定查询条件
  2. projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。