CentOS 7下MongoDB 3.6 的安装及基本操作

1.MongoDB是一款跨平台、面向文档的数据库,可以实现高性能,高可用性,并且能够轻松扩展。MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB可以为Web应用提供可扩展的高性能数据存储解决方案。

2.MongoDB是非关系数据库当中功能最丰富,最像关系数据库的。不采用关系模型主要是为了获得更好的扩展性,MongoDB不再有“行”的概念,其运行方式主要基于两个概念:集合(collection)和文档(document)。

3.MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

4.MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

MongoDB主要特点
1.MongoDB安装简单,提供了面向文档存储的功能,操作起来比较简单和容易。
2.MongoDB提供了复制、高可用性和自动分片功能。如果负载增加,它可以分布在计算机网络中的其他节点,这就是所谓的分片。
3.Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
4.MongoDB支持各种编程语言:Ruby、Python、Java、C++、PHP、C#等多种语言。

二、CentOS 7MongoDB 3.6的安装

实验步骤

(1)部署 yum源仓库

vim /etc/yum.repos.d/mongod-org.repo

[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/RedHat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

(2)Yum安装

yum install mongodb-org -y

(3).编辑MongoDB配置文件并启动其服务

vim /etc/mongod.conf
bindIp: 0.0.0.0            #监听地址
port: 27017                #监听端口

systemctl start mongod.service  #开启服务
netstat -anpt | grep 27017    #检查是否启动

(4)连接并访问MongoDB

/usr/bin/mongo
> db.version()  #查看版本
3.6.6 
> show dbs;    #查看数据库
admin  0.000GB
config  0.000GB
local  0.000GB     


三、MongoDB 3.6的基本操作

1.开启多实例

(1)复制一份配置文件给第二个实例

cp -p /etc/mongod.conf /etc/mongod2.conf
## 复制一份配置文件给第二个实例

(2)编辑第二个实例配置文件和启动参数

vim /etc/mongod2.conf  ##配置实例
  path: /data/mongodb/mongod2.log  ##日志文件位置
  dbPath: /data/mongodb/mongo    ##数据位置
  port: 27018      ##不同实例的端口不同

mkdir -p  /data/mongodb/  ##创建数据文件夹
cd /data/mongodb/
mkdir mongo 
touch mongod2.log    ##创建日志文件
chmod 777 mongod2.log    ##给予日志文件权限

(3)启动第二个实例

mongod -f /etc/mongod2.conf  ##开启第二份实例
mongo --port 27018    ##进入数据库

2.基本操作

## 创建数据库 ,不存在会创建,不建立集合又会删除
> use mydb; 
switched to db mydb

##创建集合
> db.createCollection('a')
{ "ok" : 1 }

## 在集合中插入数据
> db.a.insert({"id":1,"name":"zhangsan"})
WriteResult({ "nInserted" : 1 })

## 查看集合中的数据
> db.a.find() 
{ "_id" : ObjectId("5b4c54bc8a4352592ecc288f"), "id" : 1, "name" : "zhangsan" }

##查找指定记录并赋予别名a,查看属性类型
> b=db.a.findOne({"id":1})
{
    "_id" : ObjectId("5b4c54bc8a4352592ecc288f"),
    "id" : 1,
    "name" : "zhangsan"
}
> typeof(b.id)
number 

##更改数据
> db.a.update({"id":1},{$set:{"name":"tom"}}) 
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.a.find()
{ "_id" : ObjectId("5b4c54bc8a4352592ecc288f"), "id" : 1, "name" : "tom" }

##查看集合
> show collections 
a

##删除集合
> db.a.drop() 
true

##删除数据库
> db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }

##复制数据库
> db.copyDatabase("mydb","mydb1") 
{ "ok" : 1 }
> show dbs;
admin  0.000GB
config  0.000GB
local  0.000GB
mydb    0.000GB
mydb1  0.000GB

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/db6cbf275d39f4abf6dc620d4aec8095.html