Parse 使用教程之二

上一篇内容中简单介绍了什么是 parse-server ,以及 parse-server 的简单使用,本节中我们将学习到以下内容:

  • parse-dashboard 的使用和配置
  • parse-dashboard 的界面简介

什么是 parse-dashboard

parse-dashboardParse 团队开发的 parse-server 数据库图形化使用界面,相比较 Robomongo 等其他 MongoDB 的图形化数据库操作工具,parse-dashboard 主要为网站管理员提供了一个可配置化的 MongoDB 数据操作工具。

parse-dashboard 的定位是介于系统的 CMS 系统和数据库的原始数据管理工具之间,工具内部集成了 parse-server 的 API 接口以及 Master 用户权限;同时 parse-dashboardParse 自定义的数据格式(PointerRelation 等)进行了处理,从而能够更直观的展示和操作数据集

下面的是原始的 Robomongo 工具的界面

下图所示的是 parse-dashboard 的界面

parse-dashboard

parse-dashboardRobomongo 的最大不同之处在于工具背后的连接主体不同,下图展示了两款工具的连接使用方式

配置

parse-dashboard 的配置比较简单,一个实例必须以下参数

  • appName 管理台中显示的应用名称

  • appId parse-server 的应用 ID

  • masterKey parse-server 的超级管理员秘钥

  • serverURL parse-server 的服务地址

可选

  • 登录用户的密码
  1. 命令行使用

    在安装 parse-dashboard 之后,我们可以通过执行 --help 查看使用帮助

    npm install -g parse-dashboard
    
    # Test
    parse-dashboard --help
    

    在执行 parse-dashboard 之前必须首先启动 parse-server,然后在命令行中就可以使用添加参数的方式或者添加环境变量的方式来启动 parse-dashboard

    parse-dashboard --dev --appId MYAPPID --masterKey MYMASTERKEY --serverURL "http://localhost:1337/parse" --appName MYAPP
    
    # 默认的地址是 http://localhost:4040
    # output
    The dashboard is now available at http://0.0.0.0:4040/
    
    
  2. 配置文件使用

    除了可以在命令行中添加参数或者环境变量的方式启动,parse-dashboard 也可以通过读取配置文件的方式来启动

    新建 dashboard.config.json

    {
      "apps": [
        {
          "serverURL": "http://localhost:1337/parse",
          "appId": "MYAPPID",
          "masterKey": "MYMASTERKEY",
          "appName": "Example"
        }
      ]
    }
    
    

    然后在文件的目录下通过添加 --config 参数来指定配置文件

    parse-dashboard --config dashboard.config.json
    
  3. 然后在浏览器中输入 localhost:4040,如果可以看到 parse-dashboard 的界面,就说明我们的操作是正确的。

使用

启动成功的 parse-dashboard 默认会显示 parse-serverUserRole 数据库,RoleUser 集成的默认创建的数据库,包含了一些默认的字段和配置,同时作为这个应用的用户管理和角色管理基础功能,比如 User 中的 usernameemail 就作为登录使用的用户名,password 默认是隐藏的

Role

Role

默认的字段包括:

  • objectId Parse 包装过的数据的主键,数据类型为 String

  • createdAt 数据的创建时间,数据类型为 Date

  • updatedAt 数据的更新时间,数据类型为 Date

  • ACL 全称为 Access Control List ,代表该条数据的访问权限。这也是 parse-server 逆天的一个功能,每一个用户的权限能够具体到每一个表中的每一条数据,后面我们会详细介绍的。

  • name 该角色组的名称,全局唯一不重复,数据类型为 String

  • users 该用户组内的用户,数据类型为 Relation,后面我们详细介绍 RelationPointer 的类型

  • roles 该用户组所包含的其他用户组,通常用于权限继承

Role 在用户的基础上添加了用户组的概念,通常适用于多个人具有相同的读取权限,并且能够实现权限继承,很酷有没有?笔者曾经使用用户和用户组实现了公司全国各地 Zabbix 资源池的监控,用户权限级别包含了 公司 资源池 的各级管理员 运维 用户 的权限分级,并且运行良好,关于 Role 的权限分级在下面的内容中以通俗的示例讲解哈

User

用户是 Parse 中用户的表,其中包含了 session password 等隐藏显示的字段,以及 username email 等全局唯一标识用户的字段

User

默认的字段包括:

  • objectId 主键
  • mailVerified Boolean 类型,是否启用邮箱验证功能
  • ACL ACL类型,数据的访问权限
  • updatedAt Date 类型,更新时间
  • createdAt Date 类型,创建时间
  • authData Object 类型,第三方的验证数据
  • username String 类型,全局唯一的用户名
  • password String 类型,默认隐藏显示的密码
  • email String 类型,用户的邮箱

用户的默认表结构基本就是这样,如果有自定义的字段,可以通过管理台添加或者通过创建用户的时候添加相应的字段数据,Parse 就可以按照数据的格式添加一个相应类型的字段。

示例

我们可以通过简单的网络请求创建一条数据,然后在 parse-dashboard 中查看我们的创建结果

新建一个名为 Game 表格并创建一条数据,需要注意的是在请求头中需要添加 parse-server 的配置 HeaderX-Parse-Application-Id X-Parse-REST-API-Key

  curl -X POST \
  -H "X-Parse-Application-Id: MYAPPID" \
  -H "X-Parse-REST-API-Key: MYRESTAPIKEY" \
  -H "Content-Type: application/json" \
  -d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
  http://localhost:1337/parse/classes/Game

网络请求返回的结果包含了操作的结果,说明我们的创建请求成功处理了。

{"objectId":"ncuoD5hIfw","createdAt":"2021-01-12T08:36:56.846Z"}

然后我们在管理台中刷新可以看到一个新的表 Game 和一条数据包括每个字段的类型均已展示出来了。

更多的内容和用法可以查看官方的 API 文档

更多内容

更多的内容请关注GitHub@hom,知乎@孟太白,或者关注我的公众号@全栈开发师。分享相关计算机系统、网络和服务器的开发,学到老,写到老,生命不停,编程不止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mrmengj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值