Один из подходов - использовать запрос, подобный следующему, для получения трех документов:
cts.search(cts.andQuery([
cts.jsonPropertyValueQuery("id", "100"),
cts.orQuery([
cts.jsonPropertyScopeQuery("name", cts.trueQuery()),
cts.jsonPropertyScopeQuery("domain", cts.trueQuery()),
cts.jsonPropertyScopeQuery("salary", cts.trueQuery())
])
]))
Запросы области проверяют наличие свойств. После извлечения документов ваш код SJS может создать объект JavaScript или JSON с объединенными свойствами.
Для большей эффективности в производственном приложении вы можете создавать индексы для каждого из документов с использованием TDE, а затем объединять документы с помощью Optic API.
Однако ...
Учитывая, что все три документа имеют один и тот же ключ, почти наверняка лучшим подходом будет сохранение того, что вы определили как выходной документ, и отфильтровывание любых свойств, которые вам не нужны при извлечении.
DataHub Framework предоставляет управляемый способ создания документов и создания согласованных документов.
Надеясь, что помогает,