MongoDB入门知识

基本概念

MongoDB是一个面向文档的数据库,不是关系型数据库。MongoDB是无模式的,也就是说文档的键不需要事先定义,也不会是一成不变。

跟关系数据库相比,MongoDB中出现了一些新的定义:

  • 文档:相当于关系数据库中的一行,是MongoDB的基本数据单元。文档是一组键/值对的有序组合。

    • 文档中的键/值对是有序的,也就是说{"name": "Wilber", "age": 27}和{"age": 27, "name": "Wilber"}是不同的文档
    • 文档的值是有类型区分的,同时文档也是大小写敏感的。

      {"name": "Wilber", "age": 27}不同于{"name": "Wilber", "age": "27"}

    • 另一点需要注意的是,MongoDB的文档中是不允许有重复键的。

      非法的文档,{"name": "Wilber", "name": "Will"}

  • 集合:集合是一组文档的组合,相当于关系数据库中的表,但却是无模式的表。

    文档{"name": "Wilber", "age": 27}和{"name": "Will"}可以存放在同一个集合中。

  • 数据库:是一组集合的组合。一个MongoDB实例可以管理多个数据库,每个数据库对应不同的磁盘文件,所以每个数据库都有独立的权限控制。

基本操作

MongoDB服务端启动:

我的MongoDB装载C盘,通过以下方式启动。截图中通过—dbpath参数制定了DB的存放目录。可以通过mongod.exe –help查看更多选项。

从图中可以得到的信息:

  • DB version是v2.6.5
  • MongoDB服务器使用27017端口

Mongod还会启动一个HTTP服务器,监听比服务器高1000的端口。也就是通过http://localhost:28017/可以得到数据库的管理信息。

MongoDB Shell:

MongoDB自带一个JavaScript shell,可以通过命令行来操作MongoDB数据库。

启动MongoDB shell,通过help命令,可以列出shell命令帮助

总结

通过上面的介绍,可以对MongoDB有一个初步的了解,接下来将开始文档的增删改查操作了。

时间: 2024-10-05 04:45:24

MongoDB入门知识的相关文章

Ruby2.3.3操作MongoDB入门(Mongo驱动版本2.4.3)-先期准备&数据库连接创建

最近在学习MongoDB的相应知识,涉及到使用Ruby操作MongoDB数据库,因为参考数据中使用的Ruby Mongo驱动版本不是2.3.3,所以在操作方面会有所不同,因此撰写了这篇Ruby2.3.3操作MongoDB入门,学习方式是参考网址https://docs.mongodb.com/ruby-driver/v2.3/quick-start/ 快速学习主要分为以下几个部分: 先期准备 1.1 本地启动MongoDB数据库,端口号27017 Windows环境下启动方式如下:首先CMD命令

MongoDB基础知识 01

MongoDB基础知识  1. 文档  文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting" : "Hello, world!", "foo", 3} 2. 集合(collection) 集合就是一组文档,类似关系型数据库中的一张表. 3. 数据库(database) 多个文档组成集合,多个集合组成数据库.一个MongoDB实例可以承载多个数据库.

ESB (Enterprise Service Bus)入门知识

本文主要介绍ESB相关的一些技术概念与术语,还有一些入门的需要了解的基础知识,并初步了解介绍一些ESB产品.由于本人刚接触ESB,所以将自己的学习内容与过程,记录下来!愿在这里与大家分享一下,共同进步与提高! [转载使用,请注明出处:http://blog.csdn.net/mahoking] EAI 企业应用集成(Enterprise Application Integration):是完成在组织内.外的各种异构系统.应用和数据源之间共享.交换信息.协作的途径,方法学,标准和技术. 所连接的应

MongoDB入门必读(概念与实战并重)

MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝

债券入门知识

可参考此链接: http://www.jisilu.cn/topic/%E4%BC%81%E4%B8%9A%E5%80%BA%E6%85%A2%E8%B0%88 国债: 凭证式国债: 国家采取不印刷实物券,而用填制国库券收款凭证的方式发行的国债.它是以国债收款凭单的形式来作为债权证明,不可上市流通转让,从购买之日起计息.在持有期内,持券人如遇特殊情况需要握取现金,可以到购买网点提前兑取.提前兑取时,除偿还本金外,利息按实际持有天数及相应的利率档次计算.凭证式国债在银行柜台凭身份证购买,与银行定期

基金入门知识

1. 基金是什么? 基金就是代大家理财的一个产品.比如股票型基金,就是把大家的钱收集起来,由买股经验丰富的基金经理帮大家买股票. 2. 基金产品靠什么挣钱? 基金依靠用户买入和赎回基金份额时的手续费,还有交纳的管理费等挣钱.如果某基金经理非常牛B,给投资人带来了丰厚的回报,那么买这支产品的人就越来越多,这样基金产品就越来越赚钱.相反,如果基金产品投资管理不善,给投资人带来了损失,那么买这支产品的人就是越来越少,可用于投资的钱就是越来越少,进一步削弱提高收益的可能性.基金产品并不直接从投资行为中挣

移动H5开发入门知识,CSS的单位汇总与用法

说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid app的开发,都用到了css3技术,在css3中,新增了许多单位,rem.vw和vh.vmin和vmax.ch和ex等等,那现在对这些单位分别做一下详细的介绍吧. 1.em 做前端的应该对em不陌生,不是什么罕见的单位,是相对单位,参考物是父元素的font-size,具有继承的特点.如果字体大小是16

requirejs入门知识整理

使用模块化开发处理的三大问题: 1.命名冲突:2.繁琐的文件依赖 3.实现异步非阻塞的文件加载,避免网页失去响应 模块化的设计使得JavaScript代码在需要访问“全局变量”的时候,都可以通过依赖关系,把这些“全局变量”作为参数传递到模块的实现体里,在实现中就避免了访问或者声明全局的变量或者函数,有效的避免大量而且复杂的命名空间管理. requirejs以一个相对于baseUrl的地址来加载所有的代码.如果用了data-main属性,则该路径就是baseUrl,baseUrl亦可通过requi

Unity入门知识

参考书:<Unity3D 游戏开发> scene图中按F键:放大,居中当前选中的物体 坐标轴:红-x轴,绿-y轴,蓝-z轴 逐帧运行程序: OnGUI:可以用来画界面 高级控件 or 低级控件? Label控件也可以贴图 只有脚本的公有变量才可以在编辑器中直接赋值.Texture.String等 游戏界面可以由若干个窗口组成,而每个窗口又由若干个视图组成.创建窗口时需要设定他的显示区域,在窗口中可以添加任意组件,前提是组件的显示区域必须在窗口当中,否则无法显示.另外,窗口中的所有控件都采用相对