MongoDB干货总结

本文详细介绍了MongoDB,包括其与MySQL的对比、特点、为何速度快、适用与不适用的场景。重点讲解了MongoDB的集合、插入、修改、删除和查询操作,特别强调了聚合功能及其在大数据处理中的应用。还提到了Map-Reduce作为一种计算模型在MongoDB中的运用。
摘要由CSDN通过智能技术生成

什么是MongoDB

基于分布式文件存储的数据库,介于非关系型和关系型数据库之间。

MongoDB和MySQL对比

MongoDB MySQL
Database Database
Collection(集合) Table
Document(文档) Row
Field Column

MongoDB有什么特点

(1)面向集合存储数据,数据以json格式存储;

(2)查询功能强大,几乎可以实现所有关系型数据库的单表查询功能;

(3)自带分布式文件系统,方便集群部署;

(4)自带了对map-reduce运算框架的支持。

MongoDB为什么快

(1)没有事务约束;

(2)使用的内存映射技术 ,写入数据时候只要在内存里完成就可以返回给应用程序,写入磁盘是异步操作;热点数据放入内存;数据在磁盘中相对集中,减少随机读写耗费的磁头定位时间;

(3)没有join,不使用关系。没有关系的存在,就表示每个数据都好比是拥有一个单独的存储空间,然后一个聚集索引来指向。

MongoDB适用场景

(1)网站实时数据处理,如PV、UV、统计商品的收藏次数、加入购物车次数、曝光次数等。

(2)服务器日志记录;

(3)大数据量,TB甚至PB级别的数据存储;

(4)数据模型经常变化,需要支持水平扩展

(5)游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新

物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。

社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能

物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析

视频直播,使用 MongoDB 存储用户信息、礼物信息等。

MongoDB不适用场景

(1)数据修改需要严格的事物控制;

(2)功能的业务关系复杂、涉及到多表关联;

(3)比较重要的业务数据,如订单、商品、用户等数据。

MongoDB集合

MongoDB的集合,可类比于MySQL的表,字段(field)可类比于MySQL的列(column)。区别是,集合的filed是可动态扩展的,并且数据类型没有限制,不像Mysql需要先定义列名、列的字段类型等。

此外,集合无需像mysql的表一样事先定义。使用db.collectionName.insert()语句,插入一条json数据,该集合便生成了。

集合由文档组成,每个文档就是一条json数据。

插入文档

向集合中插入一个文档(类比向表中插入一条数据):

 `db.getCollection("b2b_theme_activity").insert( { 

  "merchant_code": "1ed0528595197975fa72f5ec8f9e0c62",

  "dfx_type": NumberInt("1"),

  "create_time": ISODate("2020-03-16T22:36:01.964Z"),

  "member_code": "e69e61a77b1ccc7b90be7995c6a6021f",

  "user_name": "李郃",

  "merchant_name": "南京好享家智能家居有限公司",

  source: NumberInt("10"),

  "visit_duration": "",

  type: NumberInt("11"),

  "member_name": "测试企业开户01",

  "theme_activity_page_title": "测试test01",

  "login_name": "17
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值