当前位置:Gxlcms > mysql > MongoDB初略了解

MongoDB初略了解

时间:2021-07-01 10:21:17 帮助过:47人阅读

安装好了mongoDB之后,并将其加入自动随开机启动后,就可以对MongoDB进行测试并学习了。打开客户端。开始gt;gt;运行gt;gt;cm

写在前面

上一篇中对mongoDB在windows上的安装大致了解并掌握(见 ),这一篇对mongoDB进行一个大致的初略了解。没有涉及到PHP语言,只是纯粹的MongoDB自己的语法。

PHP对应的MongoDB等熟悉原生态语言之后,再了解。

1.启动:

安装好了mongoDB之后,并将其加入自动随开机启动后,就可以对MongoDB进行测试并学习了。打开客户端。开始>>运行>>cmd。切换到MongoDB的安装目录,运行mongo.exe,默认是运行在27017端口,然后是MongoDB/data 下进行数据存储。

[html]

这样就运行了mongodb,就可以在这个客户端下输入语法结构,来进行试验和学习了。

2.关于MongoDB的几个概念

在学习之前我们就知道MongoDB是NoSql数据库,也就是非关系型数据库,那不存在SQL,也就没有表、行和列了。那它是如何存储呢?是文档存储。那么文档就有几个概念了。

文档>>集合>>数据库

一. 文档是MongoDB中最小单位,也是MongoDB的核心,相当于MySQL数据库表中的一条记录(一行),多个键以及其关联的值有序的放置在一起就是一个文档,所以,文档是采用键值对的形式存放的,采用json格式{ “var1”:"value1","var2":"value2",......} 。

下面就是一个文档:

[javascript]

  • 文档可以是一个键值对,也可以是N个键值对:

    [javascript]

  • 文档采用json键值对的形式进行存放。但是是有顺序的,顺序不一样,文档就不一样。

    [javascript]

    文档的键是非空的字符串,区分大小写的。“FOO”和“foo”不一样的,值可以是各种字符,如整型,字符串型,浮点型等等。

    二. 集合就是一组文档,如果说文档类似于Mysql等关系型数据库中的一行(记录),那么集合就相当于关系型数据库中的表了、

    集合是无序的,可以存储任意类型(整型,字符型)的文档,集合的命名是非空的字符串,不能包含“$”,不能用"system"开头。

    三. 数据库

    多个文档组成集合,多个集合就组成了数据库。一个MongoDB实例可以承载多个数据库,他们之间可视为完全独立,每个数据库都有独立的权限控制,那么数据库的命名:

  • 不能是空字符串(“”)
  • 不能够含有’‘(空格)、. (点) 、$ 、/ 、\ 和 \0(空字符)
  • 应全部小写
  • 最多64个字节
  • admin、local、config都是系统的保留名字,不能作为数据库名。
  • 3.MongoDB的shell

    提到shell,,或许并不陌生,这让我想到了linux系统里的shell,就是一组命令编程,通过代码命令,直接在命令提示符下运行,那么在MongoDB中也有shell,它是基于javascript的shell脚本,顾名思义,是可以运行javascript代码的,可以对MongoDB进行系统的管理,检查运行实例,亦或做其他尝试,所以,单纯讲MongoDB,而不与PHP进行连接的话,shell是核心,至关重要。因为对MongoDB数据库的操作都是shell命令。

    既然MongoDB是基于javascript的shell脚本的,我们来看看几个javascript代码的运行。

    [javascript]

    输入x = 200 ,那么x/10 就会计算出结果为10了。下面看一看javascript里面的函数。

    [javascript]

    那么,也可以自定义函数,进行操作,和javascript里面一样。

    [javascript]

    自定义函数fun1(),用来不断判断循环,最终计算出结果120。

    所以,在MongoDB中对javascript有着非常好的支持。

    4.MongoDB的shell对数据库的基本操作

    既然MongoDB中的shell脚本如此强大,那么就像是MySQL在命令提示符下,也可以进行对数据库的增删改查操作,MongoDB也不例外。

    1 . 创建

    在MongoDB中插入一个文档到集合中,也就是插入一行记录到表中是一样的道理。首先是选择数据库,在选择一个集合,最后将一个文档插入

    [javascript]

    或许有点不好理解,特别是选择了php数据库后,貌似没有选择集合(mysql中的表),,就直接插入了。

    在MongoDB中,use database 来选择数据库,当不存在时,就自动创建一个数据库。

    db.blog.insert( 文档);来插入一个文档,当然也可以直接插进去,不用post这种形式。

    db.blog.find();查找集合里面的全部文档数据;

    db.blog.find0ne();查找最近的一个文档。

    db.blog.update({条件},内容);更新文档。

    db.blog.remove();删除文档。

    所以很重要的思想是:先use(选择)库,在选择集合进行的操作,选择集合和对应的操作是一起的。

    [javascript]

    linux

    人气教程排行