MongoDB 的安装和使用

MongoDB介绍

产品特点

1)存储数据量大

适合存储数据量比较的数据,不太重要的数据。

适合存储日志信息,评论·······

2)关系数据库需要提前设计,mongodb 不需要提前设计

存储性

单表可以存储pb级别的数据

1024b = 1kb

1024kb = 1mb

1024mb = 1gb

1024gb = 1tb

1024tb = 1pb

mysql   单表一般存储千万级别条数  亿级别就分表了

效率性

数据库的效率就是指它的读写速度。

 

结构

mysql  创建库   设计表    字段类型    存入数据  row

mongo  直接使用  document

安装及其使用

需要window服务管理,来进行操作管理mongodb数据库的启动和停止

下载MongoDB  https://www.mongodb.com/download-center/community

第一步:部署mongodb软件到运行目录

 

第二步:创建存储mongodb数据文件的路径目录和日志文件路径,主要不要有中文路径

第三步:使用管理员命令行,进行mongodb的服务安装

使用管理员命令行,进行入到mongodb运行目录bin目录下

可以通过查看mongod.exe -h  查看相关参数帮助

cmd > mongod.exe --dbpath=F:\MongoDB\db\ --logpath=F:\MongoDB\log.txt   --install

 第四步:安装之后,查看服务管理里,有没有出现服务,并且可以正常启动

问题处理:如果安装之后,服务启动不起来,多半参数指定不对

解决方案:卸载服务,重新安装对应正确的参数

如果服务可以正常使用,卸载的时候,主要要停止服务

cmd > mongod.exe --remove

简单操作

使用bin目录下的mongo.exe 连接mongodb数据库

cmd > mongo.exe

查看帮助命令

无状态使用

mongo可以直接use库名称,就自动创建一个数据库

简单计算

 添加数据

bson  类json结构

db.集合(数据表).insert({name:’张三’,age:25});

普通数据添加

db.goods.insert({name:'huawei01',price:1000,weight:135,number:35})

多维数据对象添加

db.goods.insert({name:'xiaomi5',price:1999,weight:156,number:45,area:{province:'beijing',city:'beijing'}})

数组信息添加

db.goods.insert({name:'xiaomimax',price:2000,weight:180,number:100,area:{province:'beijing',city:'beijing'},color:['blank','white','red']})

查询数据

 笼统方式查询

语法:db.goods.find();   数据全部显示出来 db.goods.findOne();  显示查询结果的第一条

条件限制查询

db.goods.find({name:'huawei01'})    //查询name为huawei01的数据

范围条件查询

//关键字:$gt   $lt    $gte   $lte

//mysql关键字: >  <  >=  <=

db.goods.find({price:{'$gt':1005}})     //price 大于1005的数据

多个条件查询

db.goods.find({price:{'$gt':1000},weight:{'$gte':180}}) //price大于1000 重量大于等于180的

多维字段查询

db.表.find({'key.name':值})

db.goods.find({'area.city':'zhuhai'})

数组条件查询

db.表.find({字段(数组):val}) //数组元素值 有val即可(存在一个元素)

db.goods.find({color:'red'})

db.表.find({字段(数组):{‘$all’:[v1,v2]}})  数组元素值  存在v1和v2 即可(v1,v2顺序不做要求)(存在多个元素)

db.goods.find({color:{'$all':['pink','red']}})

限制查询字段

很多时候,数据库里的字段不需要全部取出。按照需要取出数据字段,限制查询的字段。

默认mongodb里,有一个主键_id,全球唯一性标识,方便备份和恢复操作。想要用之前习惯使用的id,不要删除和修改这个_id,另外加一个字段。

db.表.find({条件},{字段:1/0,字段:1/0})  显示为1 不显示为0

 db.goods.find({name:'xiaomi6'},{price:1,name:1})

_id除外,可以随意设置0或者1

$or查询

条件满足其中一个即可显示出来

db.goods.find({'$or':[{price:2000},{number:{'$lt':100}}]})

修改数据

语法:

db.集合.update()

有$set的修改

db.表.update({条件},{‘$set’:{字段:值,字段:值......}})

db.goods.update({name:'xiaomi6'},{'$set':{name:'xiaomi666',number:50}})

没有$set的修改

db.表.update({条件},{字段:值,字段:值......})

db.goods.update({name:'xiaomi'},{name:'xiaomi10'})

删除数据

删除记录

db.表.remove(条件)

 db.goods.remove({name:'xiaomi10'})

删除字段

db.表.update({条件},{‘$unset’:{字段:1/字段:0}})

db.goods.update({name:'huawei01'},{'$unset':{weight:0}})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值