Мне интересно, можно ли сравнить два документа с одинаковыми "_id" (одинаковыми именами коллекций и "_keys"), которые хранятся в разных базах данных.
Мой вариант использования - это настраиваемый «механизм карты / макета», который «в основном» питается «заданиями автоматического импорта / преобразования» из внешней системы геоданных.
Пока все работает нормально.
Однако в некоторых случаях необходимо настроить вручную, например. "x / y" -координаты некоторых объектов, чтобы сделать их более удобными. При повторном запуске любого задания импорта (например, для получения последних данных) все ручные настройки теряются, так как они просто перезаписываются "автоматическими" данными.
Поэтому я думаю о настройке системы, состоящей из нескольких идентично структурированных баз данных ArangoDB, используемых на разных «этапах» жизненного цикла данных, например:
- "staging" - сюда помещаются вновь "автоматически импортированные" данные.
- «производство» - здесь хранятся «окончательные данные», которые представляются пользователю, включая все последние ручные настройки.
Соответствующий (упрощенный) жизненный цикл будет таким:
- Автоимпорт в "постановку"
- Сравните и импортируйте все ручные настройки из «производства» в «стадию».
- Разверните «объединенное» содержимое из 1. и 2. как новую «производственную» версию.
Итак, эта тема посвящена этапу «сравнения» шага 2 между «производственными» и «промежуточными» значениями данных.
В SQL я бы выразил это с помощью sth. нравится:
SELECT
x, y
FROM databaseA.layout AS layoutA
JOIN databaseB.layout ON (layoutA.id = layoutB.id) AS layoutB
WHERE
...
Спасибо за любые подсказки о том, как решить эту проблему в ArangoDB с помощью запроса AQL или службы FOXX!