温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MongoDB基本操作1增删改查篇

发布时间:2020-07-03 04:53:01 来源:网络 阅读:374 作者:回忆总想哭 栏目:MongoDB数据库
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 dbs admin 0.000GB config 0.000GB local 0.000GB #克隆端口号为27017实例的school数据库的info表至本实例数据库中 > db.runCommand({"cloneCollection":"ccc.info","from":"192.168.100.5:27017"}) 用户认证 #登录mongodb mongo
  • 用户授权(认证登录)
#在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 dbs admin 0.000GB config 0.000GB ccc 0.000GB school 0.000GB
  • 备份与恢复数据库
    1. 通过mongoexport和mongoimport目录来导出导入数据;
    2. 导出数据文件的格式为: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
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI