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 ...
 
随机推荐
- mysql连接不释放
			
环境: 持久层:JPA 数据库连接池:druid 数据库中间件:Mycat 数据库:Mysql 报错: Unable to acquire JDBC Connection 排查步骤: 方法一: 1.d ...
 - postgresql学习之安装篇
			
---恢复内容开始--- 安装方法: 1.可以使用操作系统自带的安装源 2.可以使用官网下载的源码进行安装 3.可以使用编译好的包入.run格式的安装包安装(本文使用的是这种安装方法,下载地址http ...
 - spring cloud各个版本之间的区别
			
最近公司在使用spring cloud进行开发,对于spring cloud版本号一直有疑惑. 那个版本在前?那个版本在后? 那个版本是最新的? 一.常见版本号说明 举个瓜:2.0.3 RELEASE ...
 - SpringBoot整合freemarker 引用基础
			
原 ElasticSearch学习笔记Ⅲ - SpringBoot整合ES 新建一个SpringBoot项目.添加es的maven坐标如下: <dependency> <groupI ...
 - CSP J/S 2019受虐记
			
一枚蒟蒻的游记~ 提高组DAY1 不是说每场考试都有一道签到题吗 那我tm读了三遍题硬是没找到一道水题是怎么回事(是我太弱了吗) 没办法,硬着头皮做T1 暴力写法...期望得分30pts 于是...在 ...
 - kafka汇总
			
Kafka 1. kafka概念 kafka是一个高吞吐亮的.分布式.基于发布/订阅(也就是一对多)的消息系统,最初由Linkedln公司开发的,使用Scala语言编写的,目前是Apache的开源项目 ...
 - 在windows上搭建hadoop开发环境
			
下载hadoop: http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common 点击下面链接进行下载 然后进行解压 如果解压出现下面的情况 则用管 ...
 - MySQL分组查询每组最新的一条数据(通俗易懂)
			
开发中经常会遇到,分组查询最新数据的问题,比如下面这张表(查询每个地址最新的一条记录): sql如下: -- ---------------------------- -- Table structu ...
 - 【WPF】EntityframeworkCore Update注意事项
			
The instance of entity type 'Book' cannot be tracked because another instance with the same key valu ...
 - day 03 作业 预科
			
目录 作业 1.简述变量的组成 2.简述变量名的命名规范 3.简述注释的作用 4.使用turtle库构造一幅图,贴在markdown文档中 作业 1.简述变量的组成 变量由变量名.赋值符号.变量值所组 ...