简介
Mean是JavaScript的全栈开发框架。更多介绍
用MongoDB实现持久数据的存储是Mean Web全栈开发中的一部分。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它的特点是高性能、易部署、易使用,存储数据非常方便。
MongoDB的学习资料可参考:
上一节介绍了NoSQL Manager for MongoDB客户端管理工具连接本地数据库及使用方法,这一节介绍MongoDB在Linux上的安装及连接。
Linux下安装MongoDB
因为本地环境问题,我开发的时候一般喜欢直接连接到远程的私人服务器中,接下来让我们来尝试一下MongoDB在Linux上的安装、配置及连接。
OS:Centos 7.2
安装包下载地址:点击这里查看
1.下载并解压:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.4.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-3.4.4.tgz
2.将解压包移动到指定目录并添加路径:
(/usr通常只包含系统发行时自带的程序,而/usr/local则是本地系统管理员用来自由添加程序的目录)
MongoDB 的可执行文件位于 bin 目录下,所以将其添加到 PATH 路径中:
mv mongodb-linux-x86_64-rhel70-3.4.4/ /usr/local/mongodb
export PATH=/usr/local/mongodb/bin:$PATH
3.MongoDB中的数据库目录必须要手动创建,一般是在MongoDB目录下创建data/db文件夹和logs文件:
cd /usr/local/mongodb
mkdir -p data/db
touch logs
启动MongoDB及问题
1.安装及配置完之后,在bin目录下运行:
cd bin
./mongod --dbpath ../data/db
如果看到这句话则运行成功:[thread1] waiting for connections on port 27017
2.在bin下面输入以下命令即可对MongoDB进行后台管理
./mongo
比如插入:
> db.runoob.insert({x:10}) WriteResult({ "nInserted" : 1 }) > db.runoob.find() { "_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 } >
注意的问题:
1.如果在启动的时候遇到:
exception in initAndListen: 29 Data directory /data/db not found., terminating
说明指定的数据库路径不对,
出现上面这个错误是因为 /data/db
目录不存在,若启动时,不指定任何参数, MongoDB 会默认使用 /data/db
目录存储数据,我们可以使用 --dbpath
来指定其它的路径,比如:
mongod --dbpath /Users/pantao/Workspace/MongoDB/db
2.之前CentOS版本是6.6.所以会遇到如下问题
发现错误:./mongod: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./mongod)
那是因为glibc版本太低(glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc)
查看glibc版本,发现是2.12版本:
或者执行:
strings /lib64/libc.so.6 |grep GLIBC_
所以建议用CentOS7.2版本,libc的版本是2.17不会出现这种问题。
下一篇:用NoSQL Manager for MongoDB进行远程连接