上一章,我们已经把loopback搭建起来了,但是数据存储在内存里,这对我们项目实施来说是不大可行的,因此这章我决定把数据库搭建起来,对于轻型应用的话,我选择了MongoDB做为数据库。
一、安装MongoDB数据库
mongoDB的安装包被藏的好深,找了半天才找到,这个是目前的下载链接,我直接下载了最新的安装包5.0.6
MongoDB Community Download | MongoDBhttps://www.mongodb.com/try/download/community
我的桌面是mac操作系统,下载时默认的macOS,包是tgz的形式,下载后直接解压,直接就开搞了,这里就不细说mongoDB其他系统的安装步骤,以及数据库的操作,网上文档搜一下应该很多。解压完后,将bin目录加入到我的环境变量里,这个步骤是为了避免每次输入一长串目录,很麻烦。
vim ~/.bash_profile
# mongoDB
export PATH=/Volumes/Files/mongodb-macos-x86_64-5.0.6/bin:$PATH
打开当前用户的.bash_profile文件加入上方代码,蓝色部分是我刚解压的mongoDB目录,将它的bin子目录加到PATH里面,然后重新加载下.bash_profile文件
source ~/.bash_profile
在终端输入mongo不要回车,按tab一下看看bin目录mongo、mongod命令是否显示出来,数据库到这里安装完成。
二、启动MongoDB数据库
进入loopback应用的根目录,创建一个文件夹data,执行下方命令启动数据库,mongoDB的默认端口是27017
mongod --dbpath data
打开浏览器输入http://localhost:27017/,如果启动成功的话,会显示
It looks like you are trying to access MongoDB over HTTP on the native driver port.
mongoDB启动方式有很多,绑定IP啥的,这里就不细说了,启动了之后,在终端输入mongo连接到mongoDB,使用数据集合pclist
mongo
> use pclist
switched to db pclist
数据库也准备好了,我们可以接着继续我们loopback了。
三、关联数据源
将loopback的数据源指向到mongoDB
lb datasource
输入数据源名称: MongoDB
为 MongoDB 选择连接器: MongoDB (StrongLoop 支持)
Connection String url to override other settings (eg: mongodb://username:password@hostname:port/database):
host: localhost
port: 27017
user:
password:
database: pclist
完后loopback会要求安装一个loopback-connector-mongod连接器,输入y安装,安装完后loopback就可以使用mongoDB了。在修改关系之前,先进入loopback应用目录,进入server目录,数据源和数据模型配置文件,数据源文件打开看下,不需要做什么修改,里面就是两种连接方式,db内存连接方式和MongoDB数据库连接方式(了解下即可)
datasources.json 数据源配置 model-config.json 数据模型配置
修改model-config.json配置,将原先关联到db内存的关系,改成MongoDB数据连接方式,仅保留AccessToken不改
"User": {
"dataSource": "MongoDB"
},
"AccessToken": {
"dataSource": "db",
"public": false
},
"ACL": {
"dataSource": "MongoDB",
"public": false
},
"RoleMapping": {
"dataSource": "MongoDB",
"public": false,
"options": {
"strictObjectIDCoercion": true
}
},
"Role": {
"dataSource": "MongoDB",
"public": false
},
"checklist": {
"dataSource": "MongoDB",
"public": true
},
"templates": {
"dataSource": "MongoDB",
"public": true
}
数据库也准备好了,接下来要开始搞用户权限了