学习MongoDB--(2-1):MongoDB入门(概念简介和启动)

开始进入正式学习使用MongoDB的阶段了,首先还是详细介绍一下MongoDB的一些概念吧:

1》 文档:这个是MongoDB中数据的基本单元,非常类似于关系型数据库的行,但比传统行能表示的信息复杂很多。

2》 集合:这个在MongoDB中代表一组文档,类似于关系型数据库中的表。但在MongoDB中的表(就是集合)是没有模式的,你可以将完全不同的文档放入同一个集合中,MongoDB不会做这方面的限制,但在实际使用中,从数据库管理、操作效率、构建索引等方面看,不支持这么做,最佳实践是:为特定集合隐性规定一种模式。

3》 数据库:在MongoDB中,一组集合可以组成一个数据库。一个MongoDB实例可以承载多个数据库。每个数据库都有独立的权限控制。在实际应用中,通常,一个应用的所有数据放置在一个数据库中。

分别就细节介绍一下吧:

【文档】:

多个键和其关联的值有序地放置在一起便是文档,举个例子吧:{“greeting”:“Hello World!”} 这就是MongoDB中最简单的一个文档,只包含一个键/值对。MongoDB中对文档的区分包括:键值对的顺序,键和值的类型,键和值的大小写。这三者有任何一个不一致,这两个文档就不相同。文档中键值对的“值”的数据类型不仅可以为例子所示的串,还可以为数字,甚至整个嵌入的文档等。“键”则只能是串,命名规则为:

1. 键不能包含“\0”(空字符),这个用于表示键的结束

2. “$”这个字符有特殊含义,在一般情况下避免使用,不使用这个特殊字符可以作为最佳实践了

3. “_”以下划线开头的名称是为系统预留的,最佳实践中也不提倡这么做

每一个文档在插入到集合中都会被分配一个默认的键“_id”,这个值在文档所在集合中是惟一的。

【集合】

无模式的集合表示的具体含义是:可以将这两个文档放入同一个集合中:{"name":"drifterj", "job":"soft engineer"}, {"level":100}。这两个文档的键不相同,值类型也不一致。但这种做法是不提倡的,这里仅仅是无模式的示例。集合的命名规范为:

1. 不能为空串""

2. 不能包含“\0”(空字符),这是集合名称结束的标志

3. 不能以“system.”开头,这个是系统保留前缀,如system.user这个集合保存所有数据库用户信息,system.namespaces 保留所有数据库集合的信息。

4. 名称中不能包含"$",这个字符为系统集合使用。

子集合:组织集合的一个惯例是,通过“.”字符分开的按命名空间划分的子集合。如一个博客功能的应用可能包括如下两个集合:blog.posts,blog.authors。这样做会让集合结构很清晰,但集合blog(这里可能并不存在)和这两个子集合没有任何关系。

【数据库】

数据库就是一组集合,有独立的权限控制。其命名规范为:

1. 不能使空字符串""

2. 不能含有' '(空格)、.、$、\、/ 和\0(空字符)

3. 应该全部小写

4. 最多64字节

数据库名最终会变成文件系统的文件名,所以对名称的限制比文档和集合多一些细节。注意MongoDB系统中有如下预置的特殊数据库,这些名称不可使用:

1. admin :从权限的角度看,这是“root”数据库,加入这个数据库的用户,会继承所有数据库的权限,一些特定的服务器命令,如列出所有数据库,关闭服务器等也只能从这个数据库执行。

2. local:这个数据库中的数据不会被复制,可以用来存储本地单台服务器的任意集合

3. config:当Mongo用于分配设置时,config数据库在内部被使用,用来保存分片的相关信息。

把数据库名称放置在集合名称前面,就是集合的完全限定名,称为命名空间,如在test数据库中存在op.log的集合,那这个集合的完全限定名就是test.op.log。在MongoDB中完全限定名长度不得超过121个字节,实际使用中,应控制在100个字节。

 

【Windows下安装,启动MongoDB】:

MongoDB提供各种平台的二进制包,可以在http://www.mongodb.org下载(我的资源中也有 64位的)。先说一下MongoDB的版本号,偶数是稳定版,如1.6,1.8,2.0开头的,奇数是开发版如1.7开头的。 1.6.1, 1.6.2...等版本是1.7.0测试版推出后,在开发过程成对1.6.0版本发行的修正版。

"安装MongoDB",一般就是指构建核心的数据库服务器mongod,他可以作为单个服务器、主从节点、副本集的成员,还可以当做片。可以通过二进制包 bin目录下的mongod命令来启动mongodb服务,不同于其他关系数据库的安装过程,mongodb的启动过程令我感觉很新颖。利用mongod启动服务,需要指定一个数据目录,Windows下默认是C;\data\db,我显示指定了另外的数据目录:通过--dbpath参与

启动结果为:

这样MongoDB就启动起来了,但每次这样启动,还是挺不爽的,麻烦不说,还多个窗口,容易别人误关掉,所以MongoDB提供了服务的形式进行启动,操作如下:

需要通过--logpath指定一个日志文件的路径,并最后添加--install,执行完毕,进入控制面板“服务”,可看到:

这种方式方便多了,右键就可以启动MongoDB的服务。也不会有多余窗口出现。默认情况,MongoDB服务监听27017端口,如果该端口被占用,服务会启动失败!

启动MongoDB的数据库服务时,还会自动启动一个http服务,监听端口为28017,用户可通过访问http://localhost:28017 去访问,去获取一些数据库管理信息。

 

这样,整个MongoDB的服务就启动好了,我们就可以使用MongoDB了。

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值