如何使用Optic API将具有相似值的视图合并?

问题描述 投票:0回答:1

我想使用光学API来连接两个视图。连接看起来像这样:

xquery version "1.0-ml";
import module namespace op="http://marklogic.com/optic" at "/MarkLogic/optic.xqy";

let $qs := op:from-view("Samplestack", "QnA")
let $users := op:from-view("Samplestack", "Contributors")
return $qs
=> op:join-inner($users, op:on("Asker", "ContributorUserName"))
=> op:select(("QnATitle", "QVoteCount", "Asker", "UserReputation"))

问题是,“ ContributorUserName”和“ Asker”两列并不完全相同。 “问问者”的前缀是“用户名”。]

所以我需要连接“用户名”。和“ ContributorUserName”的值。

根据Docuementation,我可以以某种方式调用计划中的concat函数,因此不必使用函数op:call()。>

但是我无法使它正常工作。

我想使用光学API来连接两个视图。连接看起来像这样:xquery版本“ 1.0-ml”;在“ /MarkLogic/optic.xqy”处导入模块名称空间op =“ http://marklogic.com/optic”;让$ qs ...

xquery marklogic marklogic-9
1个回答
1
投票

查询应该能够在连接之前使用带有表达式的select()操作来修改视图,如以下草图所示(未经测试):

© www.soinside.com 2019 - 2024. All rights reserved.