odant:Commands

Материал из ODANT Wiki
Перейти к: навигация, поиск

Спецификации

Навигация

odant:context

Команда context возвращает коллекцию элементов, выбранных на основании контекстного адреса oda.Context.

Параметры:

  • uid - идентификатор сессии пользователя.
  • format - формат возвращаемого результата:
    • xml - в формате XML default;
    • bin - в бинарном формате;
    • json - в формате JSON;

Параметры контекста являются системными, и

Examples

Expression

db.+.people+

XQuery

odant:context('db.+.people+')  

RestAPI

http://host:PORT/api/db.+.people+/

Result

XML
<context context="db.+.people+" count="5">
  <class path="db.firstbase.people"/>
  <class path="db.secondbase.people"/>
  <class path="db.thirdbase.people"/>
  <solution path="db.thirdbase.peoples"/>
  <base path="db.peoplebase"/>
</context>
JSON
"context": { 
  "context": db.+.people+",
  "count": 3,
  "class": {
    "path": "db.firstbase.people"
  } ,
  "class": {
    "path": "db.secondbase.people"
  },
  "class": {
    "path": "db.thirdbase.people"
  },
  "solution": {
    "path": "db.thirdbase.peoples"
  },
  "base": {
    "path": "db.peoplebase"
  }
}


odant:info

Команда info предоставляет информацию о выбранных в контексте элементах.

Параметры:

  • type - указывает возвращаемый тип информации:
    • config - информация о конфигурации элемента default;
    • links - информация о связях элемента;
    • meta - информация о структуре элемента.
  • level - указывает количество уровней предоставляемой информации:
    • -1 - без ограничений default;
    • 0 - только корневой;
    • больше 0 - точное количество уровней.
  • query - позволяет сделать выборку их информации с помощью Xquery запроса POST.

Examples

Expression

db.+.people.info(config, -1, "*")

XQuery

odant:info('db.+.people', 'config', -1, '*')

RestAPI

http://host:PORT/api/db.+.people/info ? type=config & level=-1 & query=*

Result

<info context="db.+.people" count="3">
  <class path="db.firstbase.people" i="1CEC42E20A61E5B" n="people" l="Физ.лица" a="3"/>
  <class path="db.secondbase.people" a="6" i="1CEC42E20A61E5B" n="people" l="Физ.лица">
      <class a="6" i="1CEEB48D31FEA57" n="man" l="Мужчины"/>
      <class a="6" i="1CEEB48CCFC0483" n="women" l="Женщины"/>
  </class>
  <class path="db.thirdbase.people" i="1CEC42E20A61E5B" n="people" l="Физ.лица" a="2"/>
</info>


odant:select




Операции с данными

odant:find

Команда find находит объекты класса по указанному фильтру и возвращает их коллекцию

Параметры:

  • filter позволяет уточнить результат с помощью XPath выражения POST.

Examples

Expression

db.firstbase.people.find("@fem = 'm' and @age > 10")

XQuery

odant:find('db.firstbase.people', '@fem = "m" and @age > 10')

RestAPI

http://host:PORT/api/db.firstbase.people/find
POST: filter = @fem = 'm' and @age > 10

Result

<find context="db.firstbase.people" count="3">
  <class path="db.firstbase.people">
    <object id="123451234512345"/>
    <object id="876548765465432"/>
    <object id="987654567898764"/>
  </class>
</find>


odant:read

Команда read производит загрузку объектов контекстного класса по идентификатору, списку идентификаторов или по фильтру

Параметры:

  • filter позволяет уточнить результат с помощью XPath выражения POST.
  • mode - способ задания фильтра:
    • oid - массив идентификаторов объектов через разделитель default;
    • xpath - XPath выражение.

Examples

Expression

db.firstbase.people.find("@fem = 'm' and @age > 10", "xpath")

XQuery

odant:find('db.firstbase.people', '@fem = "m" and @age > 10', 'xpath')

RestAPI

http://host:PORT/api/db.firstbase.people/find?mode=xpath
POST: filter = @fem = 'm' and @age > 10

Result

<read context="db.firstbase.people" count="3">
  <object id="876543456709876"/>
  <object id="876543456709875"/>
  <object id="876543456709874"/>
</read>


odant:write

Expression

XQuery

RestAPI

Result



odant:create

Expression

XQuery

RestAPI

Result



odant:delete

Команда delete удаляет объекты по указанному фильтру.

Параметры:

  • force - разрешить удаление закрытых объектов.
    • true
    • false
  • filter - фильтр для удаления объектов - XPath выражение, или список идентификаторов POST.
  • mode - способ задания фильтра:
    • oid - массив идентификаторов объектов через разделитель default;
    • xpath - XPath выражение.

Examples

Expression

work.db+.people.delete(false, oid, "*")

XQuery

RestAPI

Result



odant:xquery

Команда xquery выполняет XQuery запросы к данным.

Параметры:

  • timeout - ограничение времени выполнения запроса (в секундах, default = 0 /* без ограничений */).
  • size - ограничение размера результата (в байтах, default = 0 /* без ограничений */).
  • async - выполнение запроса асинхронно (true/false, default = false).
  • query - текст XQuery запроса POST.

Examples

Expression
work.db+.people.xquery(10, "for $a in 1 to 10 return element x { attribute {concat('a', $a)}{$a * $a} }")
XQuery
odant:xquery('work.db+.people', '10, "for $a in 1 to 10 return element x { attribute {concat('a', $a)}{$a * $a} }")
RestAPI
http://host:PORT/oda/work.db+.people/xquery ? timeout=1
POST: query=for $a in 1 to 10 return element x { attribute {concat('a', $a)}{$a * $a} }
Result
<xquery t="9" cnt="work.db+.people">
  <x a1="1"/>
  <x a2="4"/>
  <x a3="9"/>
  <x a4="16"/>
  <x a5="25"/>
  <x a6="36"/>
  <x a7="49"/>
  <x a8="64"/>
  <x a9="81"/>
  <x a10="100"/>
</xquery>
  • t - время выполнения (в миллисекундах).
  • cnt - контекст выполнения.