2015-07-21 98 views
0

我在测试服务器8062编写一些测试案例查询,但我的数据驻留在端口号8060与特定内容database.Without使用管理变化的测试服务器的内容数据库控制台,是否可以指定哪个端口和内容数据库命中特定的查询?另外我不想加载内容数据库的内容来测试服务器数据库。 例如例如:指定端口号和内容数据库中marklogic

let $current := (fn:count(cts:uri-match("*.xml*")),(), 
    <options xmlns="xdmp:eval"> 
    <database>{xdmp:database("prj-content")}</database> 
    </options>) 

回答

4

在MarkLogic中,数据不会“驻留”在端口上。而是连接到数据库的应用程序服务器在端口上侦听HTTP或XDBC请求。你可以有很多应用服务器面向同一个数据库。对于为数据库配置的多个应用服务器,测试和管理是两个很好的用例。

测试服务器(端口8062)应指定prj-content数据库。它的当前数据库配置是什么?为什么与prj-content不同。如果你这样做,你将不必在运行时指定数据库。

如果您确实需要在运行时指定数据库,则可以使用xdmp:evalxdmp:invokexdmp:invoke-function

+0

谢谢贾斯汀。 xdmp:eval解决了我的问题。 – kol

+0

但是,我会告诫你,eval通常是最后的手段。在运行时切换数据库不是大多数应用程序的典型操作。你还没有确切地说明你想要完成什么,但我会考虑重新考虑一个不需要eval的设计。 –

相关问题