MongoDB tutorial

Collection(41) share
Read(24521) update time(2022-04-21)

"MongoDB Tutorial" is the latest official online reference manual of MongoDB. In this MongoDB document, you will learn how to use MongoDB to add, delete, modify, query, sort and other important knowledge points in the database. MongoDB is a database based on distributed file storage. MongoDB applications have penetrated into various fields, such as games, logistics, e-commerce, content management, social networking, Internet of Things, live video, etc.


MongoDB是一种面向文档的数据库管理系统,用C++等语言撰写而成,以此来解决应用程序开发社区中的大量现实问题。2007年10月,MongoDB由10gen团队所发展。2009年2月首度推出。

MongoDB社区版是免费的并可获得为Windows、Linux和OS X二进制版本。许多Linux包管理系统曾经包含MongoDB的包,由于许可证变更,MongoDB已经从Debian、Fedora和Red Hat Enterprise Linux发行中移除。

MongoDB使用内存映射文件, 32位系统上限制大小为2GB的数据,64位支持更大的数据。MongoDB的核心构件只能在小端序系统上运行,客户端库可以在小端序和大端序的系统上运行。

语言支持

MongoDB有官方的驱动如下: C,C++,C# / .NET,Erlang, Haskell,Java,JavaScript,Lisp,fibjs,node.JS, Perl,PHP,Python,Ruby,Scala,Go。

当前还有许多非官方式的驱动,ColdFusion,Delphi,Erlang,Factor,Fantom,Go,JVM languages (Clojure, Groovy, Scala, etc.),Lua,HTTP REST,Racket,和Smalltalk。

提示:我们的MongoDB教程将帮助您学习从初级到高级的MongoDB知识。如果你有任何疑问,请前往PHP中文网MongoDB社区提出你的问题,会有热心网友为你解答。

MongoDB特点

它的特点是高性能、易部署、易使用,存储数据非常方便。

主要功能特性有:

  • 面向集合存储,易存储对象类型的数据。

  • 模式自由。

  • 支持动态查询。

  • 支持完全索引,包含内部对象。

  • 支持查询。

  • 支持复制和故障恢复。

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

  • 自动处理碎片,以支持云计算层次的扩展性。

  • 支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

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

  • 可通过网络访问。

适用场景

MongoDB 的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS 系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身。根据官方网站的描述,Mongo 适用于以下场景。

  • 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

  • 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo 搭建的持久化缓存层可以避免下层的数据源过载。

  • 大尺寸、低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。

  • 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库,Mongo 的路线图中已经包含对MapReduce 引擎的内置支持。

  • 用于对象及JSON 数据的存储:Mongo 的BSON 数据格式非常适合文档化格式的存储及查询。

MongoDB 的使用也会有一些限制,例如,它不适合于以下几个地方。

  • 高度事务性的系统:例如,银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。

  • 传统的商业智能应用:针对特定问题的BI 数据库会产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。

  • 需要SQL 的问题。

应用案例

下面列举一些公司MongoDB的实际应用:

  • Craiglist上使用MongoDB的存档数十亿条记录。

  • FourSquare,基于位置的社交网站,在Amazon EC2的服务器上使用MongoDB分享数据。

  • Shutterfly,以互联网为基础的社会和个人出版服务,使用MongoDB的各种持久性数据存储的要求。

  • bit.ly, 一个基于Web的网址缩短服务,使用MongoDB的存储自己的数据。

  • spike.com,一个MTV网络的联营公司, spike.com使用MongoDB的。

  • Intuit公司,一个为小企业和个人的软件和服务提供商,为小型企业使用MongoDB的跟踪用户的数据。

  • sourceforge.net,资源网站查找,创建和发布开源软件免费,使用MongoDB的后端存储。

  • etsy.com ,一个购买和出售手工制作物品网站,使用MongoDB。

  • 纽约时报,领先的在线新闻门户网站之一,使用MongoDB。

  • CERN,著名的粒子物理研究所,欧洲核子研究中心大型强子对撞机的数据使用MongoDB。

本MongoDB教程手册涵盖的内容

本MongoDB教程涵盖所有MongoDB基础和高级知识,包含了MongoDB创建数据库、MongoDB删除数据库、MongoDB插入文档、MongoDB更新文档、MongoDB查询文档等等所有MongoDB初高级知识介绍。

提示:本教程的每一章都包含了很多MongoDB图文实例,通过这些例子可以让您更好地理解和运用MongoDB。

Latest chapter


MongoDB 自动增长 2016-10-18
MongoDB 固定集合 2016-10-18
MongoDB GridFS 2016-10-18
MongoDB 管理工具 2016-10-18
MongoDB 正则表达式 2016-10-18
MongoDB 全文检索 2016-10-18
MongoDB Map Reduce 2016-10-18
MongoDB ObjectId 2016-10-18