In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-23 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)06/01 Report--
MongoDB简介1)Mongodb属于非关系性数据库 ,数据记录以文档形式(键值对)进行存储,即bson格式2)不再有"行"(row)的概念,其运行方式主要基于两个概念:集合(collection)与文档(document)3)支持各种编程语言:Ruby,Python,Java,C++,PHP,C#等多种语言逻辑结构对比关系型:数据库------》表------------》记录,字段非关系型:数据库-----------》集合----------》键值对何为键值对书写格式:{键值:值}键值对:如{"name":"zhangsan"} 键值必须双引号,值如果是数值(int)可以不用双引号引起来,如果是字符串(string)必须用双引号引起来。本次实验在CentOS7系统上进行实施,首先配置网络YUM源,baseurl(下载路径)指定为mongodb官网提供的yum仓库
vim /etc/yum.repos.d/mongodb.repo
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ #指定获得下载的路径
gpgcheck=1 #表示对从这个源下载的rpm包进行校验
enabled=1 #表示启用这个源。
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
重新加载yum源,并使用yum命令下载安装mongodb
yum list
yum -y install mongodb-org
等待下载好之后,修改配置文件,指定监听IP,端口默认为27017
vim /etc/mongod.conf
..........
bindIp:0.0.0.0 #监听任意地址
port:27017 #默认监听端口
启动mongodb服务,并进入mongodb。mongodb服务的启动,关闭有两种方式
(1)systemctl start mongod.service #启动
systemctl stop mongod.service #关闭
(2) mongod -f /etc/mongod.conf #启动
mongod -f /etc/mongod.conf --shutdown #关闭
开启服务后,查看mongodb进程
netstat -antp | grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 16540/mongod
下面主要讲解Mongodb的基本操作及语句应用,mongodb十分人性化自带Tab键补全功能不需要使用密码直接使用mongo命令进入服务
查看版本信息
> db.version()
3.6.7
查看数据库
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
myschool 0.000GB
school 0.000GB
进入数据库(如果创建集合则自动创建数据库,如果没有创建集合则数据库没有被创建),
> use yun
switched to db yun
创建集合;插入数据信息,并同时创建集合info
> db.createCollection("abc")
{ "ok" : 1 }
> db.info.insert({"id":1,"name":"jack1"})
WriteResult({ "nInserted" : 1 })
查看集合
> show tables
info
> show collections
info
使用循环批量添加用户
> for (var i=2;i db.abc.find()
查看单条数据
db.abc.findOne({"id":10})
{
"_id" : ObjectId("5b972d38fb89e57a63998a84"),
"id" : 10,
"name" : "jack10"
> a=db.abc.findOne({"id":10}) #把这条记录定义别名为a
{
"_id" : ObjectId("5b9a6f39e80a2611eecb6f7b"),
"id" : 10,
"name" : "jack10"
查看类型
> typeof(a.id)
number
> typeof(a.name)
String
修改数据:
db.info.update({"id":10},{$set:{"name":"tom10"}}) 格式:条件在前,修改在后
db.info.findOne({"id":10})
{
"_id" : ObjectId("5b972d38fb89e57a63998a84"),
"id" : 10,
"name" : "tom10"
聚合函数统计记录
db.info.count()
100
删除集合,数据
db.info.remove({"id":12}) //删除数据
Db.info.drop() //删除集合
先进入该数据库,再用下面的命令删除数据库
Use school
db.dropDatebase() //删除数据库
数据跨实例克隆集合:db.runCommand({"clonecollection":"school.info","from":"192.168.195.137:27017"})数据的备份与恢复,导入与导出,是在linux的shell环境进行操作数据导出mongoexport -d school -c info -o /opt/school.jason条件导出 -q '{"id":{"$eq":10}}'mongoexport -d school -c info -q '{"id":{"$eq":10}}' -o /opt/school10.jason数据导入mongoimport -d school -c infos --file /opt/school.jason数据库备份与恢复,都不需要额外创建数据库和目录数据库备份mongodump -d yunwei(库名) -o /opt(路径)数据库恢复mongorestore -d yunjisuan2 --dir=/opt/yunjisuan授权启动在mongodb中进行授权
> use admin
switched to db admin
> db.createUser({"user":"root","pwd":"abc123","roles":["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
退出mongodb,修改配置文件 指定auth=true,否则授权不起作用
vim /etc/mongod.conf
auth=true
重启服务,再进入mongodb,只有通过授权验证才可以查看数据信息
vim mongodb.conf
> use admin
switched to db admin
> db.auth("root","abc123")
1
> show dbs
admin 0.078GB
local 0.078GB
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.