1.MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的

2.支持动态查询

3.使用高效的二进制数据存储,包括大型对象(如视频等)

4.文件存储格式为BSON(一种JSON的扩展)

5.缺点:事务弱、SQL支持弱、无法高度优化查询(数仓适合)

6.capped collections:固定大小的数据结构,适合用来做日志或者缓存场景使用的表,会自动过期删除数据

7.连接命令:shell输入 mongo

8.查询的时候可以使用and或or的方式,也可以联合使用

9.$type 操作符可以过滤查询对象的类型

10.Limit与Skip方法,配合使用,可以实现分页

11.mongodb可以使用关系(嵌入式关系/引用),来关联对象之间的关系。数据库还能储存其它数据库中的表的主键ID

12.覆盖索引查询:查询的字段在索引中,可以快速高效的查找(注意排除ObjectID)

13.可以使用explain() 和 hint()来查询分析(索引的效率)

14.MongoDB没有事务,但是保证了原子性。可以通过db.collection.findAndModify() 这种原子操作方法,保证修改对象的一致性。

15.可以针对子文档查询,也可以对子文档建索引(关系型数据库不能这么玩)

16.索引会占资源,所以数据量少的表不建议建索引。索引不会被一些查询使用。索引建立有数量上的限制。

17.MongoDB使用OID(objectID)而不使用自增主键的原因,因为在多个 服务器上同步自动增加主键值既费力还费时。

18.OID可以自己创建,原生的OI里自带了时间戳,所以可以从它那里获取字段创建时间

19.MongoDB的Map Reduce方法,可以对数据进复杂处理

20.MongoDB支持全文检索(非中文)

21.mongodb支持正则表达式

22.mongodb使用GridFS来进行大文件管理

23.mongodb支持固定集合(插入满了就覆盖老的),可以作为缓存、日志的场景使用:capped collections

24.mongodb没有提供自增长的主键功能,但是可以通过自己实现(https://www.w3cschool.cn/mongodb/mongodb-autoincrement-sequence.html)

mongdb学习笔记的更多相关文章

  1. MongoDB学习笔记—权限管理

    1.MongoDB权限介绍 a 上篇文章中,我们在Linux下配置了MongoDB环境并且将其设置为服务随机器启动而启动,那么接下来这篇文章我们就来简单说一下MongoDB下对登录用户权限的管理. b ...

  2. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  3. SpringBoot学习笔记(十一:使用MongoDB存储文件 )

    @ 目录 一.MongoDB存储文件 1.MongoDB存储小文件 2.MongoDB存储大文件 2.1.GridFS存储原理 2.2.GridFS使用 2.2.1.使用shell命令 2.2.2.使 ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  6. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  7. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  8. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  9. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

随机推荐

  1. [转载] c#中decimal ,double,float的区别

    一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖. 浮点型 Name CTS Type De script ion Significan ...

  2. WordConuts

    import java.io.File; import java.io.FileNotFoundException; import java.util.HashMap; import java.uti ...

  3. 关于java 操作linux命令的 一些相关

    ThreadPoolExecutor pool= new ThreadPoolExecutor(5,10, 3, TimeUnit.SECONDS, new LinkedBlockingQueue&l ...

  4. CentOS7安装MySQL冲突和问题解决小结

    摘自:https://blog.csdn.net/typa01_kk/article/details/49059729 问题1: [root@localhost install-files]# rpm ...

  5. 面试必问:Spring循环依赖的三种方式

    引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...

  6. Babel总结

    什么是babel? babel是一个JavaScript编译器. Babel是一个工具链,主要用于将ECMAScript 2015+代码转换为向后兼容的旧浏览器或环境中JavaScript版本. 注解 ...

  7. 【Python54.1--豆瓣登录】

    1.模拟豆瓣登录 ''' |-- 代码解析: |-- 1.登录必须具备的条件:url,cookie,fromData fromData的参数如下: source: index_nav form_ema ...

  8. Python3 tkinter基础 Listbox height 显示行数的上限

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. Web Service平台有三种元素构成:SOAP、WSDL、UDDI。区别和联系

    Web Service平台有三种元素构成:SOAP.WSDL.UDDI.一个消费者可以在UDDI注册表查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务.SOAP.WSDL.UDDI的区别如 ...

  10. (转)Spring Cloud(一)

    (二期)22.微服务框架spring cloud(一) [课程22]spirng c...简介.xmind54KB [课程22]spirng cl...架构.xmind0.5MB [课程22]负载均. ...