电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

mongodb学习总结

44页
  • 卖家[上传人]:桔****
  • 文档编号:468958969
  • 上传时间:2023-04-30
  • 文档格式:DOC
  • 文档大小:993.54KB
  • / 44 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、MongoDB学习文档一、 NoSQL简介1、什么是NoSQL?NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。2、NoSQL的优点/缺点优点:高可扩展性。分布式计算。低成本。架构的灵活性,半结构化数据。没有复杂的关系。缺点:没有标准化。有限的查询功能(到目前为止)。最终一致是不直观的程序。3、NoSQL 数据库分类类型部分代表特点列存储HbaseCassandraHypertable顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。文档存储MongoDBCouchDB文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。key-value存储Tokyo Cabinet / Tyran

      2、tBerkeley DBMemcacheDBRedis可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)图存储Neo4JFlockDB图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。对象存储db4oVersant通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。xml数据库Berkeley DB XMLBaseX高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。二、 MongoDB简介 1、什么是MongoDB?MongoDB 是由C+语言编写的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB自带的JavaScript Shell,可在shell中使用shell命令行与MongoDB实例交互。Shell是一个功能完备的JavaScript解释器,可运行任意的JavaScript。2、Mongodb的主要特点:1、 面向集合存储,易存储对象类型的数据2、

      3、 支持动态查询3、 支持丰富的类型:支持 dates, regular expressions, code, binary data 等类型。4、 支持索引5、 支持服务器端javascript执行:javaScript是MongoDB的一种通用语言,它可以被用在查询,聚集函数,直接由数据库执行。补充:所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format

      4、)。MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。3、MongoDB适合用场景:网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源过载。大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。自然,MongoDB的使用也会有一些限制,例如它不

      5、适合:高度事务性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。需要SQL的问题三、 MongoDB的安装及配置1、MongoDB的安装1、 MongoDB的下载:在MongoDB的官网https:/www.mongodb.org/downloads,根据不同的操作系统下载MongoDB的安装包。备注:32-bit的操作系统,MongoDB支持的最大存储数据为2G。64-bit的则无最大数据限制。推荐安装64-bit。下载完后,解压即可。MongoDB的目录结构如下图所示:2、访问MongoDB数据库MongoDB安装完成后,要访问数据库,必须经过以下两步:1、 启动MongoDB服务。以管理员身份运行命令提示符,在命令提示符下,找到MongoDB安装目录下面的bin目录,运行 “mongod”则启动了MongoDB服务。备注:默认保存数据库的DATABASEPATH为MongoDB安装盘符下面的的datadb路径,所以,自己

      6、必须先创建一个这样的文件。此命令提示符窗口一旦关闭,则该服务也随之关闭。2、 访问MongoDB数据。重新打开一个命令提示符窗口,找到安装目录下面的bin目录,运行“mongo”,则默认进入到test文档。3、启动MongoDB时的附加参数 下表为MongoDB启动的可附带的参数说明:参数描述-bind_ip绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP-logpath定MongoDB日志文件,注意是指定文件不是目录-logappend使用追加的方式写日志-dbpath指定数据库路径-port指定服务端口号,默认端口27017-serviceName指定服务名称-serviceDisplayNam指定服务名称,有多个mongodb服务时执行。-install指定作为一个Windows服务安装。示例 说明:此命令指定了MongoDB的dbpath和logpath。4、将MongoDB添加到windows服务将MongoDB服务器作为Windows服务运行,启动后,MongoDB服务直接运行在后台,避免重复的开启关闭命令。此时请注意,你必须有管理权限才能运行

      7、下面的命令。mongod -bind_ip yourIPadress -logpath C:datadbConfmongodb.log -logappend -dbpath C:datadb -port yourPortNumber -serviceName YourServiceName -serviceDisplayName YourServiceName -install示例:开启MongoDB服务:关闭MongoDB服务:删除MongoDB服务:四、MongoDB中的基本概念1、数据库一个mongodb中可以建立多个数据库。MongoDB的默认数据库为db,该数据库存储在data目录中。命名规则:不能是空字符串(“”);数据库名区分大小写;数据库名最多为64字节,不能含有/,。,*,|,$,空格,空字符等。数据库最终会变成文件系统里面的文件,数据库名就是相应的文件名。有一些数据库名是保留的,可以直接访问,这些数据库有:admin(相当于“root”数据库),local(此数据库不可复制,且一台服务器上的所有本地集合都可以存储在这个数据库中),config(用户存储分片信息)。查

      8、看MongoDB中所有的数据库: show dbs;查看当前使用的数据库: db使用“use databasename”转换到特定的数据库 : use admin创建数据库:Use mydb: 创建或者转到一个数据库,如果什么都不操作离开的话 这个库就会被系统自动删除。删除数据库: use testMongo db.dropDatabase();2、文档文档是mongodb中的最核心的概念,是其核心单元。我们可以将文档类比成关系型数据库中的每一行数据。多个键及其关联的值有序的放置在一起就是文档。例如,在javascript中,文档被表示为对象:“greeting”:“hello world”,这个文档只有一个键“greeting”,期对应的值为“hello world”,这是一个简单的文档对象,但大多数情况下会比这个复杂的多,可能会包含多个键/值,例如“greeting”:“hello world”,“foo”:3。文档中的键/值对是有顺序的。MongoDB严格区分数据类型和大小写。MongoDB的键是字符串,而且键不能重复,键不能含有空字符。同时“.”和“$”为保留字符,一般情况下不

      9、推荐使用。在mongodb中使用一种类json的bson存储数据。bson数据可以理解为在json的基础上添加了一些json中没有的数据类型。show3、集合集合(collection)就是一组文档的组合。如果将文档类比成数据库中的行,那么集合就可以类比成数据库的表。在mongodb中的集合是无模式的,也就是说集合中存储的文档的结构可以是不同的,比如下面的两个文档可以同时存入到一个集合中:当第一个文档插入时,集合就会被创建。集合命名规则:集合名不能是空字符串(“”);集合名不能包含空字符(0);集合名不能以“system.”开头,system为系统集合保留的前缀;用户创建的集合名中不能包含“$”,因为某些系统生成的集合中包含$;子集合:组织集合的一种惯例是用“.”分隔不同命名空间的子集合,例如,一个具有博客功能的应用可能包含两个集合,分别是blog.posts和blog.auths,这是为了使组织更加清晰。这里的blog(这个集合甚至不需要存在)跟他的子集合没有任何关系。在MongoDB中,使用子集合来组织数据非常高效,值得推荐。把数据库名添加到集合名前,得到集合的完全限定名,即命名空间(namespace),如果使用CMS数据库中的blog.posts集合,这个集合的命名空间就是CMS.blog.posts。命名空间的长度不超过121字节。显示当前数据库中所有的集合: show collections;删除某个集合:d

      《mongodb学习总结》由会员桔****分享,可在线阅读,更多相关《mongodb学习总结》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.