Экспорт диаграмм Mongodb - PullRequest
4 голосов
/ 20 марта 2019

Я успешно установил mongodb-charts и смог также создать панель управления.

Теперь я хочу сохранить / экспортировать эту панель в JSON (или любой другой формат). Есть ли возможность сохранять / экспортировать и загружать / импортировать диаграммы Mongodb? Это было бы полезно, если бы я хотел такую ​​же панель на другом сервере. Example Dashboard

Также не было тега для mongodb-чартов. Поэтому любой, кто имеет право на создание тега, может создать тег.

Ответы [ 2 ]

1 голос
/ 13 апреля 2019

MongoDB Charts находится только в бета-версии.

Он предназначен для MongoDB Atlas, и в соответствии с официальной страницей «Совместное использование информационных панелей и совместной работы» вы можете обмениваться информационными панелями и диаграммами, добавляя новых пользователей и предоставляя им разрешения в представлении панели мониторинга «Доступ».

В представлении «Доступ» вы можете сделать свою панель полностью открытой, выбрав опцию «Все» и выбрать права доступа или просто поделиться с определенными пользователями.

В качестве хака, если вы хотите преобразовать свою панель мониторинга в формат JSON и перенести из одного экземпляра диаграмм MongoDB в другой, вы можете попробовать базу данных mongodump "metadata" в экземпляре MongoDB, подключенном к диаграммам MongoDB.

Имеет 4 коллекции:

  • Щитки
  • * 1016 источники данных *
  • товар
  • Пользователи

Но все отношения устанавливаются с помощью идентификаторов GUID, поэтому без ручного редактирования вы можете легко повредить данные во время хранения в хранилище.

UPDATE: Следующий скрипт bash показывает, как экспортировать панель мониторинга и диаграмму для переноса данных в другой экземпляр MongoDB Charts:

# 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})"

Помните, что этот подход не является официальным, и возможно испортить ваши данные.

0 голосов
/ 07 апреля 2019

Вы можете использовать диаграммы для Trello , который работает так же, как и диаграммы mongoDB. Он позволяет вам подключаться к вашей базе данных mongoDB или к любой другой системе, составлять ваши графики и экспортировать их как JSON, CSV ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...