Node.JS教程47:MongoDB
MongoDB是种NoSQL概念数据库(Not only sql)数据库。
MongoDB是基于分布式文件存储的数据库。
简单一句话概括:很强大!性能比MySQL强大、功能更简单、更易用。做大型项目,有很多数据存储的话用它就对了!
1、安装
MongoDB是分布式的,建议使用时独立安装在一台服务器、与功能程序分离。
那么,本文示例,一台运行Node程序,另一台装MongoDB。
Win系统下载安装。
下载时选择系统和版本:
然后是一路Next安装:
4.2.2版本,安装后直接就可以用了,不像旧版需要配置数据库和日志地址、还需要手动启动服务。
2、使用
在另一台机器,开始编写例程。
首先安装Node的MongoDB客户端模块:
代码1、连接数据:
本例中,192.168.31.18是另一台MongoDB的地址。
执行:
未连接成功,超时了。
有两种原因:另一台机器上的防火墙阻止了连接,或MongoDB的默认配置不允许远程连接。
回到MongoDB安装机器,做如下修改:
关闭防火墙:
修改MongoDB配置文件:
并重启MongoDB服务(不重启的话修改配置不会生效):
再次执行刚才的代码:
连接、创建数据库已成功。
接下来进行数据库操作。
插入数据:
执行,插入数据成功:
到MongoDB机器,用Mongo命令查看一下刚才插入的数据:
上面是插入一条数据,也可以一次插入多条数据:
res.insertedCount 为插入的条数。
执行:
查询数据:
可以使用 find() 来查找数据, find() 可以返回匹配条件的所有数据。 如果未指定条件,find() 返回集合中的所有数据。
执行:
修改代码,加入查询条件:
执行:
更新数据:
但这个方法只会更新一条数据:
如要更新多条或所有:
执行显示:
确认:
删除数据:
删除某一条数据:
删除多条数据:
执行:
更多功能:
排序:
使用 sort() 方法,该方法接受一个参数,规定是升序(1)还是降序(-1)。
代码片段:
分页查询:
limit():读取两条数据:
skip(): 跳过前面两条数据,读取两条数据:
MongoDB的常用操作基本就是这些了,感觉怎么样,是不是强大、简单又好用呢?