Mongodb基础知识

1.参考

MongoDB权威指南(第2版)

2.前言

Mongodb是一种面向文档的数据库,并非关系型数据库(如Mysql等),Mongodb的出现也让前端后端更加的统一,因为它的数据结构非常类似于Javascript中的对象。比如说下面,在Javascript中代表对象,在Mongodb中代表的就是一个文档。

{
    a: 1,
    b: 2
}

如果我们全栈都是使用的Javascript(Javascript+Nodejs+Mongodb)那么将更加提高我们的便利以及统一性。

如果你之前使用的是Mysql等关系型数据库,那么可能需要对Mongodb数据库的观念要有所改变,在Mongodb中没有行和列,取而代之的是文档。在Mongodb中也没有表的存在,取而代之的是集合。

每一个文档都有一个_id用于表示这个文档的唯一性,并且Mongodb提供了一个Javascript Shell,我们可以通过Javascript语法来管理操作等方式来控制数据库,这也为我们的全栈更大一步的增加了统一性。

3.数据库(Database)

在一个数据库中是可以存在多个集合,

4.集合(Collection)

相当关系型数据库中的表。

5.文档(Document)

在Javascript中,一个对象的值可以是一个对象、数组、基本值、函数等。当然这也可以用在文档上。比如下面的一个结构,是一个完全合法的文档结构

{
    a: {
        b: 1
        c: [1,2,3]
    },
    d: 1
}

Mongodb区分类型,也通用区分大小写,比如下面是两个不同的文档

{'a': 1}

{'A': 1}

6.命名规则

6.1.集合

集合使用名称来进行识别,但是集合名应该避免下列的情况:

  • 不能是空字符串
  • 不能包含\0(空字符),因为在Mongodb中表示为集合名结束
  • 不能以system开头,因为这是系统保留的前缀,比如system.users这个集合保存着数据库的用户信息,而system.namespaces集合保存着数据库中所有集合的信息。
  • 避免使用$,因为系统生成的集合当中很多包含有$字符串,所以你应当避免。

6.2.数据库

数据库使用名称来进行识别,但是集合名应该避免下列的情况:

  • 不能是空字符串
  • 不能使用特殊符号 \,/,.,*等符号,尽量使用由字母和数字组成的字符串。
  • 数据库名区分大小写
  • 数据库名最多为64字节
  • 有三个系统的数据库,如admin,local,config。应避免这三个名称当作你的数据库名

7.启动Mongodb

你可以通过Mongodb官方网站来下载Mongodb,如果你是windows,可能会安装得到一个安装包,安装完成后你就可以直接在CMD命令行通过mongod来启动Mongodb。如果是*inux系统,下载了Mongodb后得到解压包解压后直接运行当前目录的mongod就可以启动Mongodb。

这里需要注意的是需要通过参数--dbpath来指定Mongodb数据库的位置,如果没有指定,那么Mongodb会默认目录/data/db,windows为c:/data/db

默认情况下Mongodb会以27017端口为默认端口,并且给当前端口提供了一个http服务器,你用浏览器打开,它会提示你下图的信息。

提示信息

如果你需要通过http端口来获取一些Mongodb的状态信息,那么你需要增加一个参数--httpinterface来打开http接口,这个http一般会比监听的数据库端口大1000。比如27017是数据库默认监听借口,那么http服务的端口为28017。你用浏览器打开这个页面,就会出现如下图

httpinterface

如果你需要一些命令操作,比如列举一些信息,那么你还需要增加--rest参数。

文完

文档信息

发表评论

电子邮件地址不会被公开。 必填项已用*标注