mongodb搭建

本文详细介绍了MongoDB的特性,包括其作为文档型数据库的灵活性和JS解释器的特性。接着,讲解了MongoDB的下载安装启动过程,特别提到了在Windows下的安装步骤。文章还深入探讨了MongoDB的常用命令,如创建、删除、更新和查询集合,以及索引的创建和管理。此外,还涵盖了MongoDB的安全认证、数据备份与恢复、主从复制和副本集的概念及操作。
摘要由CSDN通过智能技术生成

MongoDB
一、MongoDB数据特点
(一)、数据库类型
1.MongoDB是文档型数据库,存储的是文档(Bson == json的二进制化)
2.MongoDB内部执行引擎为JS解释器,把文档存储成bson结构,查询时,转换为JS对象

3.MongoDB和传统型数据库(结构化)对比:
传统型数据库,定好结构后,每一行的内容必须符合表结构,每列的个数,类型都一样。
MongoDB文档型数据库,表下的每篇文档都可以有自己独特的结构(Json对象都可以有自己的属性和值)
例如:电影评论:有影评,影评的回复,回复打分,在传统型数据库中至少要4张表,关联度非常复杂;而文档型数据库,只需1篇文档,即可完成,体现文档型数据库的反范式。

二、MongoDB下载安装启动
(一)、下载
1.https://www.mongodb.com/download-center/enterprise
(二)、安装启动
1.Windows下安装启动:
(1)下载地址:
https://v.youku.com/v_show/id_XMzMxMzM0ODcwMA====.html
(2)下载文件bin目录说明:

Bsondump:二进制导出(Bson结构)
Mongo:客户端
Mongod:服务端
Mongodump:整体数据库导出
Mongoexport:导出易识别json文档或csv文档
Mongorestore:数据库整体导入
Mongos:路由器(分片用)
(3)启动服务
Mongod --dbpath “数据库地址目录” --logpath “日志地址目录” --fork(后台运行) --port “端口(默认27017)”
数据库DB存放地址,日志LOG地址自行创建
2.其他系统:
https://docs.mongodb.com/manual/administration/install-on-linux/
注意:MongoDB非常占用磁盘空间,刚启动占用3~4G左右,如果用虚拟机可能因空间不够无法启动,这时可以用 --smallfiles 将会占用400M左右
三、常用指令
(一)、查看数据库
Show dbs
(二)、查看当前数据库
db
(三)、切换数据库
1.如果没有数据库,会新建数据库并且换到这个数据库
Use 数据库
2.如果有数据库,则切换数据库
Use 数据库
四、集合操作
(一)、创建集合
1.手动创建集合
db.createCollection(‘t’,{capped:true,size:10})
Db:表示当前数据库
createCollection:创建集合指令
‘t’:集合名
{capped:true,size:10}:capped默认值为false表示不设上限,
true表示设置上限,上限值为size中设定大小,如果放入超过上限会覆盖之前数据
2.查看集合
show collections/tables
3.删除集合
db.集合名.drop()
(二)、集合的增删改查
1.增加
db.集合.insert({k1:“v1”}) 集合不存在会自动添加集合
db.t.insert([{name:“用户1”},{name:“用户2”}]) 添加多个用户列表
注意:加入数据会默认添加一个_id(16位),如果不设会默认添加,_id可以手工添加,手工添加的_id在下次添加的时候不能重复会报错,可用db.集合.save({ttt:“mmm”,_id:“1”})替换ID号相同的数据
添加日期:new Date() 默认为当前时间
new Date(“2019-01-02”) 指定添加
2.删除
(1)只删除一条数据
db.集合.remove({tang:“123”},{justOne:true})
{tang:“123”}:要删除条件
{justOne:true}:设定只删除一条
(2)删除满足条件所有数据
db.集合.remove({tang:“123”})
3.改/更新

(1)更新一条数据(不常用)
db.集合.update({要更改字段:“值”},{更改字段:“值”})
db.集合.update({ttt:“yyy”},{ttt:“yy”})
注意:这个更新会将更改字段之外,其他字段清除掉,这里表示替换
(2)指定更新一条数据
db.集合.update({要更改字段:“值”},{ KaTeX parse error: Expected 'EOF', got '}' at position 15: set:{更改字段:"值"}}̲) 注意:如果更新字段与修改前…set:修改字段值
db.t.update({name:“lisi”},{ KaTeX parse error: Expected 'EOF', got '}' at position 22: …ame:"zhangsan"}}̲) b.unset:删除字段
db.t.update({name:“zhangsan”},{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值