有没有办法在 XQuery 中获取 MarkLogic 服务器中的所有数据库名称?

Is there a way to get all database names in MarkLogic server in XQuery?

我想显示 MarkLogic 服务器中的所有数据库名称。但是,我发现的功能是:

admin:database-get-name(database ID)
xdmp:database(database name)
xdmp:database(database ID)

它们都需要了解有关数据库的信息。那么有没有办法在不知道 ID 的情况下检索所有数据库名称? 或者有没有办法检索服务器中所有数据库的 ID?

是的。 xdmp-databases() with xdmp:database-name()

长手清例:

xquery version "1.0-ml";
for $db-id in xdmp:databases()
  let $db-name := xdmp:database-name($db-id)
  order by $db-name
  return $db-name

或快速变脏:

xquery version "1.0-ml";
declare option xdmp:mapping "true";

xdmp:database-name(xdmp:databases())