我成功安装了mongodb-charts,并且还能够创建仪表板。
现在,我想将此仪表板保存/导出为JSON(或任何其他格式)。是否有保存/导出和加载/导入Mongodb图表的功能?如果我要在其他服务器上使用相同的仪表板,这将很有用。
也没有用于mongodb-charts的标签。因此,任何具有标签创建特权的人都可以创建标签。
答案 0 :(得分:1)
MongoDB图表仅处于beta版本。
它是为MongoDB Atlas设计的,根据official page "Share dashboards and collaborate",您可以通过添加新用户并为他们提供对仪表板视图“访问”按钮的权限来共享仪表板和图表。
在Access视图中,您可以通过选择“所有人”选项并选择权限权限或仅与特定用户共享来完全公开仪表板。
作为一种技巧,如果要将仪表板转换为JSON格式并从MongoDB Charts的一个实例转移到另一个实例,则可以尝试在连接到MongoDB Charts的MongoDB实例中尝试mongodump“元数据”数据库。
它有4个收藏集:
但是所有关系都是通过GUID ID建立的,因此,无需手动编辑,您就可以在mongorestore期间轻松破坏数据。
更新: 以下bash脚本显示了如何导出仪表板和图表以将数据迁移到其他MongoDB图表实例:
# Your Dashboard and Chart names you want to export
dashboard_name="My Dashboard"
chart_name="My Chart"
# Exporting to `tmp` folder data from dashboard collection
mongodump --db metadata --collection dashboards --query "{"title": '$dashboard_name'}" --out "/tmp/"
dashboard_id=$(mongo --quiet --eval "db.getSiblingDB('metadata').dashboards.findOne({'title': '$dashboard_name'}, {'id': 1})['_id']")
# Exporting to `tmp` folder data from items collection
mongodump --db metadata --collection items --query "{\$and: [{'title': '$chart_name'}, {'dashboardId': '$dashboard_id'}]}" --out "/tmp/"
# After the following data is restored to different MongoDB Charts instance
# you need to make sure to modify the following records in imported data
# according to your datasource in new MongoDB Charts instance.
# for dashboards collection modify GUID for the following fields according to new datasource:
mongo --quiet --eval "db.getSiblingDB('metadata').dashboards.findOne({'title': '$dashboard_name'}, {'owners': 1, 'tenantId': 1, 'itemSummary.dataSourceId': 1})"
# for items collection modify GUID for the following fields according to new datasource:
mongo --quiet --eval "db.getSiblingDB('metadata').items.findOne({\$and: [{'title': '$chart_name'}, {'dashboardId': '$dashboard_id'}]}, {'dataSourceId': 1, 'tenantId': 1})"
请记住,这种方法不是官方的,并且有可能破坏您的数据。
答案 1 :(得分:0)
您可以使用charts for Trello,其工作方式与mongoDB图表相同。它使您可以连接到mongoDB数据库或任何其他系统,制作图表并将其导出为JSON,CSV ...