• Mongo知识点整理


    Mongo知识点整理

    1、什么是mongo?
    mongo是一个文档数据库,采用BSON存储文档数据,BSON是一种类json的一种二进制形式的存储格式,相对于json多了date类型和二进制数据

    2、mongo与redis的区别?
    1)支持的数据结构:redis支持的数据结构丰富,包括hash、set、list,mongo数据结构比较单一
    2)数据量和性能:当物理内存够用时,redis>mongo>mysql
    性能:mongodb依赖内存,TPS较高;Redis依赖内存,TPS非常高。性能上Redis优于MongoDB
    3)事务支持情况:Redis 事务支持比较弱,只能保证事务中的每个操作连续执行;mongodb不支持事务
    4)可靠性:mongodb从1.8版本后,采用binlog方式(MySQL同样采用该方式)支持持久化,增加可靠性;
    Redis依赖快照进行持久化;AOF增强可靠性;增强可靠性的同时,影响访问性能。

    3、mongo的优势?
    面向文档存储:以json格式的文档保存数据 任何属性都可以建立索引 丰富的查询功能等

    4、什么是非关系型数据库?
    非关系型数据库的显著特点是不使用SQL作为查询语言,数据存储不需要特定的表格模式

    5、mongo的使用场景?
    大数据、内容管理系统、移动端Apps、数据管理

    6、mongo的命名空间是什么?
    mongo存储bson(byte json 二进制json)对象在丛集(collection)中,数据库名字和丛集名字以句点连起来叫做名字空间

    7、mongo支持主键和外键关系吗?
    不支持,用mongo本身的API需要硬编码才能实现外键关联,不够直观且难度较大

    8、说说你知道的,mongo支持的数据类型?
    String 、Integer 、Double 、Boolean 、Object、Arrays、Datetime、Code、Regular Expression等

    9、mongo中创建索引的方法?
    db.col.ensureIndex({key:1,key:-1})key表示需要添加索引的字段,1表示索引正序排列、-1表示索引倒序排列

    10、mongo中增删改查集合中文档的方法?
    增加–db.col.insert({key:value,key:value})
    删除–db.col.remove({key:value})
    修改–db.col.update({key:value}.{$set:{newkey:newValue}})
    查询–db.col.find({key:value})

    11、如何格式化输出查询结果?
    db.col.find().pretty()

    12、mongo支持存储过程吗?如果支持,如何用?
    支持,它是js写的,保存在db.system.js表中

    13、允许空值null吗?
    不能,因为空值表示对象,但是可以添加空对象{}

    14、mongo是否支持事务?
    不支持事务
    mongo官网提供了很多操作方法,操作数据库、集合、聚合命令等

  • 相关阅读:
    软件定义汽车,通信连接世界 | 2024汽车软件与通信大会开幕
    Android性能优化(二)—— 内存优化
    全网首发克莱斯勒东南大捷龙jeep道奇DIY数码碟盒增加USB和蓝牙播放音乐功能使用原车接口无损改装
    【2012NOIP普及组】T4. 文化之旅 试题解析
    华为机试练习题:HJ14 字符串排序
    支持JDK19虚拟线程的web框架,之五(终篇):兴风作浪的ThreadLocal
    WebGPU学习(9)---使用Pipeline Overridable Constants
    基于Lucene+Java+Python实现的校园搜索引擎系统
    附加进程 到远程服务器中Docker容器内 调试
    什么是GPT
  • 原文地址:https://blog.csdn.net/panying941206/article/details/127699471