学习mongoDB
本文学习内容来自b站的黑马程序员!链接如下:
MongoDB简介
MongoDB是一个开源、高性能、无模式的文档型数据库
| SQL术语 | MongoDB术语 | 解释说明 |
|---|---|---|
| database | database | 数据库 |
| table | collection | 数据库表/集合 |
| row | document | 数据记录行/文档 |
| column | field | 数据字段/域 |
| index | index | 索引 |
业务应用场景
High performance:对数据库高并发读写需求;
Huge Storage:对海量数据的高效率存储和访问需求;
High Scalability&High Availability:对数据库的高扩展性和高可用性。
MongoDB可应对“三高”需求
具体的应用场景如:
1.社交场景:存储用户信息以及朋友圈信息,通过地理位置索引实现附近的人、地点等功能;
2.游戏场景:存储用户信息、装备、积分等直接以内嵌文档的形式存储,方便查询、高效率存储和访问;
3.物流场景:存储订单信息,订单状态运送过程中不断更新,以内嵌数组形式存储;
4.物联网场景:存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析;
5.视频直播:存储用户信息、点赞互动信息、评论留言等。
这些应用场景的共同特点有: 1.数据量大;2.读写频繁;3.价值较低,对事务性要求不高。
MongoDB的下载和安装
上面的链接附带多个环境的下载地址和操作文档!
启动
mongod --dbpath=..\data\db 在bin目录中打开命令提示符操作
连接
mongo --host=localhost --port=27017
选择和创建数据库
use 数据库名称
查看数据库
show dbs
数据库删除
db.dropDatabase()
集合创建和删除
集合显式创建
db.createCollection(name) ps:name为集合名
集合删除
db.集合.drop
文档基本CRUD(collection为集合名)
db.collection.insert() 单个文档插入
db.collection.insertMany() 批量文档插入
db.collection.find() 查询
db.collection.findOne() 查询第一条数据
db.collection.update(query,update,options) 修改
db.collection.remove({query}) 删除
db.collection.remove({}) 删库跑路rm -rf /
1.覆盖修改
db.collection.update({query条件},{update内容})
2.局部修改
db.collection.update({query条件},{$set:{update内容}})
3.批量修改
db.collection.update({query条件},{$set:{update内容},{multi:true}})
4.列值增长的修改
db.collection.update({query条件},{$inc:{update内容}})
文档的分页查询
db.collection.count({query}) 统计记录数
db.collection.find().limit(num) 分页列表查询
db.collection.find().skip(num) 跳过num条数据查询
db.collection.find().skip(num).limit(num)
db.collection.find().sort({query:1/-1}}) 排序查询 1为升,-1为降
文档的更多查询
1.正则的复杂条件查询
db.collection.find({query:/关键字/}) 查询包含关键字
db.collection.find({query:/^关键字/}) 查询以关键字开头
2.比较查询
db.collection.find({“field”:{$gt:value}}) 大于:field > value
$gt大于、$lt小于、$gte大于等于、$lte小于等于、$ne不等于
3.包含查询
db.collection.find({query:{$nin:["关键字"]}}) 不包含
4.连接查询
db.collection.find($and:[{},{}]) 并且
db.collection.find($or:[{},{}]) 或

浙公网安备 33010602011771号