makeReferenceObject в согласованном потоке - как использовать ссылку на объект? - PullRequest
0 голосов
/ 28 октября 2018

В руководстве DHF по гармонизации продуктов и заказов продукты включаются в заказы по ссылке с использованием SKU:

https://marklogic.github.io/marklogic-data-hub/tutorial/harmonizing-order-data/

// or a reference to a Product
products.push(makeReferenceObject('Product', order.sku));

...

function makeReferenceObject(type, ref) {
  return {
    '$type': type,
    '$ref': ref
  };
}

Пример записи согласованного заказа:

"Order": {
  "id": 1,
  "products": [
    { "Product": {
      "$type": "Product", 
      "$ref": "12345"
    }},
    { "Product": {
      "$type": "Product", 
      "$ref": "54321"
    }}
  ],
  "price": 100
}

Теперь, как мы можем использовать ссылку на объект продукта в записи заказа?Должна ли встроенная функция entity service, такая как es.instanceJsonFromDocument, разрешать ссылки и включать информацию о продукте в вывод?Или это просто ссылка для разработчиков на реализацию собственной логики?

1 Ответ

0 голосов
/ 22 декабря 2018

Я в конце концов нашел информацию в сервисной документации объекта.В нем говорится, что API-интерфейсы службы сущностей будут просто обрабатывать такую ​​внешнюю ссылку как строку.

Проверка значения внешней ссылки не выполняется.Когда вы используете API Entity Services для генерации кода и других артефактов, ссылка обрабатывается как непрозрачная строка.

https://docs.marklogic.com/guide/entity-services/models#id_15972

...