MongoDB基本操作1增删改查篇
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,mongoDB逻辑存结构MongoDB的逻辑只要由文档(document)集合(collection)数据库(database)三部分组成。其中文档的是MongoDB核心概念,它是MongoDB逻辑存
千家信息网最后更新 2025年02月02日MongoDB基本操作1增删改查篇
mongoDB逻辑存结构
MongoDB的逻辑只要由文档(document)集合(collection)数据库(database)三部分组成。其中文档的是MongoDB核心概念,它是MongoDB逻辑存储最小的单元相当与关系型数据库中的一行记录,多个文档组成了集合,集合相当于关系数据库中的表的概念,多结合组成了数据库
SQl术语 | MongoDB术语/概念 | 解释说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
columm | field | 数字字段/域 |
index | index | 索引 |
table joins | index | 表链接MongoDB不支持 |
primary key | 主键MongoDB自动将--id字段设置为主键 |
- 数据库
一个MongoDB中可以建立多个数据库,MongoDB的默认库为test该数据库存储在data目录中。要显示它,需要向数据库插入一些数据。MongoDB的点个实例可以容纳多个独立的数据库,每一个都有自己的集合个权限,不同的数据库也放置在不同的文件中
- 数据库保留的的特殊的数据库
admin : 从权限的角度来看,这是root数据库。如果将一个用户添加到这个数据库,这个用户将自动继承所有数据库的权限。一些特定的服务器终端命令也只能从这个数据库运行,比如关闭。local:这个数据库永不会复制,可以用来存储限于本地单台服务器任意集合config:当Mongo用于分片设置时,config 数据库在内部使用,用于保存那些分片相关的信息
- 集合
集合就是MongonDB文档组,类似于关系型数据库管理系统(Relational DatabaseManagement)中的表格集合存在于数据库中,集合没有固定的结构,这意味着在结合中可以插入不同格式和类型的数据,但通常情况下插入集合的数据都会有一定的关联性。当第一个文档插入是,集合就会自动创建。
- MongoDB 登录、退出
#启动服务mongod -f 对应的主配置文件#停止服务mongod -f 对应的主配置文件 ----shutdown#本地登录(默认实例端口号为:--port=27017,可以不写)> mongo#登录远程主机的实例> mongo --host 192.168.10.5 --port =27017#退出MongoDB> exit
- 集合
创建info集合> db.createcollection('ccc')#查看集合方法一:> show tabels方法二:> show colletctions#显示info集合操作命令> db.info.help()
- 文档增删改查
#插入一条记录> db.info.insert({"id":1,"name":"zzz","address":"机场","hobby":["game","talk","sport"]})#向指定集合中插入一条文档数据> db.collection.insertOne()#向指定集合中插入多条文档数据> db.collection.insertMany()#通过循环批量插入数据> for(var i=1;i<100;i++)db.info.insert({"id":i,"name":"jack"+i})删除 #删除info集合中id=1的文档> db.info.remove({"id":"1"}) 修改 #修改info集合id=1的name值为"zhangsan"文档db.info.update({"id":"1"},{$set:{"name":"zhangsan"}})查询#查询info集合所有文档> db.info.find()#查询info集合id为1的文档> db.info.findOne({id:1})#统计记录数> db.info.count()复制数据库> show dbs> db.copyDatabase("school","school_1") //复制一份一样的内容的数据库
- 克隆集合
克隆集合#登录端口号为27018的实例> mongo --port 27018#查询数据库> show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GB#克隆端口号为27017实例的school数据库的info表至本实例数据库中> db.runCommand({"cloneCollection":"ccc.info","from":"192.168.100.5:27017"})用户认证#登录mongodbmongo
- 用户授权(认证登录)
#在admin数据库创建新用户root:123123> use admin> db.createUser({"user":"root","pwd":"123123","roles":["root"]})Successfully added user: { "user" : "root", "roles" : [ "root" ] }#退出> exit#关闭mongodb服务mongod -f /data/conf/mongodb1.conf --shutdown#带认证参数方式启动mongodb服务mongod -f /data/conf/mongodb1.conf --auth#登录mongodb数据库mongo#查询数据库show dbs> 不显示内容,这里要先授权认证后才能执行操作> use admin#使用授权root用户验证> db.auth("root":"123123")#再次查询,已经可以查询数据> show dbsadmin 0.000GBconfig 0.000GBccc 0.000GBschool 0.000GB
- 备份与恢复数据库
- 通过mongoexport和mongoimport目录来导出导入数据;
- 导出数据文件的格式为:JSON格式或CSV格式;
参数说明:
- d:数据库的名称
- c:collection的名称
- f:要导出哪些列
- o:要导出的文件名
- q:到导出数据的过滤条件
#备份本地school数据库> [root@localhost ~]# mkdir /backup //创建备份目录[root@localhost ~]# mongodump -d ccc -o /backup/ //导出#恢复本地school数据库至数据库abc中> [root@localhost ~]# mongorestore -d abc --dir=/backup/school#导出本机school数据库info集合> [root@localhost ~]# mongoexport -d school -c info -o /backup/info.json#导入备份数据至本机school数据库user集合> [root@localhost ~]# mongoimport -d school -c user --file /backup/info.json#导出本机school数据库user1集合id=10的数据> [root@localhost ~]# mongoexport -d school -c user -q '{"id":{"$lt":10}}' -o /backup/top10.json
数据
数据库
文档
查询
登录
实例
用户
服务
文件
备份
格式
认证
不同
口号
多个
权限
概念
目录
逻辑
本机
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
管家婆软件如何连接数据库
数据库具有最小和较高的
无尽的拉格朗日服务器注册上限
哪个国家服务器国内访问最快
中国联通网络技术大会演讲视频
浮山租房软件开发
数据库不为负
数据库实体信息
网络安全论文体会
微梦创科网络技术有限公司张瑜
网络安全知识专题考试
海淀区管理软件开发怎么样
教育行业软件开发什么
临沂诚信积分管理软件开发电话
不做软件开发
无锡云支付互联网科技有限公司
《计算机网络安全教程》下载
数据库一致性知乎
qt数据库更新update
极路由虚拟服务器
哪些是数据库系统的特点是
路由器做dhcp服务器
2021年网络安全法全文
数据库软件如何重命名
网络服务器维护与管理
ups放在服务器里面还是外面
最有潜力的互联网科技股
数据库索引入门
迁安软件开发品质保障
软件开发合同版权