cube.js 学习 cube 连接mongodb 试用
cube.js 对于mongodb 的连接是通过mongodb bi connector(mysql 协议)处理的,以下为简单的试用
安装mongo bi connector
这个玩意用docker 跑起来有点烦,直接试用本地运行,后期制作一个docker 镜像
- 下载地址
参考地址 https://www.mongodb.com/download-center/bi-connector/releases
- 简单配置
默认安装包已经内置了一个配置文件,我们只需要简单修改下就可以使用了,注意schema 的定义,为了简单,可以直接注释掉关于
schema 的部分,这样会自动生成(前提条件是已经有数据库以及集合了),实际使用还是建议自己定义好schema 文件,减少影响
cube 项目准备
使用docker-compose 运行,包含了mongo、cube、redis
- docker-compose 文件
version: "3"
services:
redis_db:
image: redis
ports:
- "6379:6379"
cube:
build: ./cube
env_file: .env
ports:
- "4000:4000"
volumes:
- ./cube/schema:/usr/src/app/schema
command: node index.js
mongodb:
image: mongo
ports:
- "27017:27017"
- cube .env 配置
REDIS_URL=redis://redis_db:6379/0
CUBEJS_DB_HOST=10.6.218.3 # 注意修改为自己的
CUBEJS_DB_NAME=dalongdemo
CUBEJS_DB_TYPE=mongobi
CUBEJS_DB_PORT=3307
CUBEJS_API_SECRET=f175c412a9136d6bf6cb84bc59c027f39cc93ae35887774ac3fe091bb0717a8d53409a967a1d2014988ef344e75214d48e0cd65c8b6c9403f8d0850a5545afdd
启动&&测试
- 先启动mongo
因为直接使用docker 启动mongo 服务,所以需要先启动mongodb
docker-compose up mongo -d
- mongo bi
直接使用下载的二进制文件并做了一些修改(主要是端口、schema、以及mongodb 的连接)
bin/mongosqld --config example-mongosqld-config.yml
- 启动cube 服务
docker-compose up -d
- 效果
- 查询
说明
cube 提供的基于mongo bi connector 进行数据分析的方法还是稍微不是很方便,主要是schema 的变动(mongodb的schemaless),但是对于
我们进行数据分析还是不错的,实际上cube 主要还是基于bi connector mysql 兼容协议的处理,实际上还是sql 的处理
参考资料
https://cube.dev/blog/building-mongodb-dashboard-using-node.js
https://www.mongodb.com/download-center/bi-connector/releases
https://cube.dev/docs/connecting-to-the-database
cube.js 学习 cube 连接mongodb 试用的更多相关文章
- cube.js 学习 cube docker-compose 运行
cube.js 官方为我们也提供了backeng 部署的模型,为了测试方便以下是一个使用docker-compose 运行的demo 项目是一个集成gitbase 的demo,实际可以按照自己的项目修 ...
- cube.js 学习(十)cube 来自官方的学习网站
尽管cube.js 包含了一个doc 站点,但是资料不是很全,同时如果查看了cube github 代码中的一些demo的话,发现还是很不错的 但是一些实践没有在文档展现出来,还好我们可以从cube ...
- cube.js 学习(八)backend部署模式
cube.js 从设计上就进行了系统上的分层,backend,frontend,backend 是cube.js 的核心 对于cube.js backend 的部署官方也提供了好多中方法 部署模型 s ...
- cube.js 学习(七)cube.js type 以及format 说明
cube.js 对于measure以及dimension 提供了丰富的数据类型,基本满足我们常见应用的开发,同时对于不同类型也提供了 格式化的操作 measure类型 number 格式 purc ...
- cube.js 学习(十一)cube + gitbase 分析git 代码
这个是一个简单的demo,使用gitbase+cube 分析git 仓库代码 需求 我们平时使用的gitlab,或者gogs 等git 仓库管理工具,有自己的管理强项,但是对于分析上可能就不是那么强大 ...
- cube.js 学习(五)cube.js joins 说明
cube.js 也支持join, 参考格式 joins: { TargetCubeName: { relationship: `belongsTo` || `hasMany` || `hasOne ...
- cube.js 学习(四)cube.js cube 说明
cube 是cube.js data schema 的核心,里面定义了生成sql 的说明 一个比较全的schema 例子 cube(`Users`, { sql: `select * from u ...
- cube.js 学习(三)cube.js data schema
cube.js的 data schema 类似graphql 的type 定义,但是cube.js 的data schema 更偏向于dsl, 其中抽象了进行数据分析应用开发中的东西,自己提炼了mea ...
- cube.js 学习(二)cube.js与 graphql2chartjs的比较
cube.js 是目前看到从设计以及理念上很不错的数据分析事件,graphql2chartjs 是hasura graphql-engine 团队开发 的一个类库基于graphql,以下做一些比较 c ...
随机推荐
- Redis主从架构搭建和哨兵模式(四)
一主一从,往主节点去写,在从节点去读,可以读到,主从架构就搭建成功了 1.启用复制,部署slave node wget http://downloads.sourceforge.net/tcl/tcl ...
- thrift java first demo
参考文档:http://thrift.apache.org/ 1.下载需要的文件 地址:http://thrift.apache.org/download 需要下载 thrift-0.12.0.ta ...
- iOS多线程GCD简介(二)
在上一篇中,我们主要讲了Dispatch Queue相关的内容.这篇主要讲一下一些和实际相关的使用实例,Dispatch Groups和Dispatch Semaphore. dispatch_aft ...
- webdriver切换frame的方法
iframe: iframe 就是一个特殊的html 元素, 它在原来的html 范围内,开辟了一个新的HTML. iframe 元素会创建包含另外一个文档的内联框架(即行内框架) 理解:网页嵌套网页 ...
- Grafana+Prometheus实现Ceph监控和钉钉告警-转载(云栖社区)
获取软件包 最新的软件包获取地址 https://prometheus.io/download/ Prometheus 1.下载Prometheus $ wget https://github.com ...
- GTID主从与传统主从复制
目录 1.主从复制 2.靠什么同步 3.pos与GTID的什么区别 4.GTID的工作原理 5.GTID参数配置 5.1 在主数据库里创建一个同步账号授权给从数据库使用 5.2 配置主数据库 5.3配 ...
- React源码 ReactElement
我们的JSX里面标签,属性,内容都会传递到React.createElement()这个方法里面.那么这个方法他到底有什么意义以及他的返回,我们叫他ReactElement.他到底有什么样的作用 /* ...
- SQL进阶系列之6用关联子查询比较行与行
写在前面 使用SQL对同一行数据进行列间的比较很简单,只需要在WHERE子句里写上比较条件就可以了,对于不同行数据进行列间比较需要使用自关联子查询. 增长.减少.维持现状 需要用到行间比较的经典场景是 ...
- 如何为SUSE配置IP地址,网关和DNS
方法一.在命令行中配置.输入: ifconfig eht0 9.111.66.96 netmask 255.255.255.0 up route add default gw 9.111.66.1 方 ...
- Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation(知识图谱)
知识图谱(Knowledge Graph,KG)可以理解成一个知识库,用来存储实体与实体之间的关系.知识图谱可以为机器学习算法提供更多的信息,帮助模型更好地完成任务. 在推荐算法中融入电影的知识图谱, ...