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

posted on   荣锋亮  阅读(759)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示