zoukankan      html  css  js  c++  java
  • mongoDB-mongo compass使用学习-最像关系型数据库的非关系型文档型数据库

    一、mongodb是什么:

     MongoDB是一款NoSQL类型的面向文档的数据库管理系统,它针对类似json格式的文档进行存储;主要服务于web应用程序和互联网相关的数据库系统。

    二、mongo compass工具的使用(点按钮就行了):

    1. 查询:

    key:value的形式

    2. 更新,双击键值更改即可

    3. 删除:delete document即可

    。。。。

    三、mongo的使用场景(复制自他人):

    对于MongoDB实际应用来讲,是否使用MongoDB需要根据项目的特定特点进行甄别,这就需要我们对MongoDB适用和不适用的场景有一定的了解。

    根据MongoDB 官网的说明,MongoDB 的适用场景如下:

    网站实时数据:mongoDB非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
    数据缓存:由于性能很高,MongoDB 也适合作为信息基础设施的缓存层。在系统重启之后,由MongoDB搭建的持久化缓存层可以避免下层的数据源过载。
    大尺寸、低价值数据存储:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
    高伸缩性场景:MongoDB 非常适合由数十或数百台服务器组成的数据库。MongoDB 的路线图中已经包含对MapReduce 引擎的内置支持。
    对象或JSON 数据存储:MongoDB 的BSON 数据格式非常适合文档化格式的存储及查询。
    2.不适合场景

    高度事务性系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
    传统的商业智能应用:针对特定问题的BI 数据库会对产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。
    需要复杂SQL 查询的问题。
    ————————————————
    版权声明:本文为CSDN博主「GOD_WAR」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/young_0609/article/details/90286649

    四、mongo命令行操作(通过shell):

    //显示所有

    show dbs
    //切换到指定的
    use hehe
    //删除当前数据库
    db.dropDatabase()
    //创建集合
    use school
    db.createCollection('students')
    //查看集合
    show collections
    //删除集合
    db.students.drop()
    //集合中插入文档
    db.students.insert({stuid: 1001, name: '沈一愣', age: 9,classid: 8})
    //查看所有文档
    db.students.find()
    //更新文档
    db.students.update({stuid: 1001}, {'$set': {tel: '10086', gender: '男'}})
    //类json格式查看文档
    db.students.find().pretty()
    //查看大于1001的
    db.students.find({stuid: {'$gt': 1001}}).pretty()
    //查询后只显示部分字段
    db.students.find({stuid: {'$gt': 1001}}, {_id: 0, name: 1, tel: 1}).pretty()
    //对查询结果进行排序(1表示升序,-1表示降序)
    db.students.find({}, {_id: 0, stuid: 1, name: 1}).sort({stuid: -1})

    ---------------------------------------------------------------------------------------------------------

    暂时先这样,有时间再补充。。。



  • 相关阅读:
    Linux之Ubuntu添加/移除个人软件包存档的源[PPA,Personal Package Archives]
    [C++]Linux之头文件sys/types.h[/usr/include/sys]
    [C++]Linux之文件拷贝在系统调用和C库函数下的效率比较
    Linux之Ubuntu下安装屏幕录像软件(SimpleScreenRecorder)【摘抄】
    [C++]基于Curses库的实时系统监测可视化系统-2017-12-09 15-07-42
    [C++]Linux之虚拟文件系统[/proc]中关于CPU/内存/网络/内核等的一些概要性说明
    [C++]Linux之计算内存利用率与辨析
    [C++]Linux之网络实时检测功能
    [C++]Linux之C编程异常[true未定义解决方案]
    [C++]Linux之读取计算机网络数据[/proc/net/dev]
  • 原文地址:https://www.cnblogs.com/bernard-shen/p/14437644.html
Copyright © 2011-2022 走看看