1

一般来说,我对 Marklogic 和 xquery 还是很陌生。我们有一组以截止日期为节点的文档。有人可以帮助我使用 xquery 根据截止日期获取最新文档吗?每个文档看起来像

<document>
<Id>blah<Id>
<DeadlineDate>2012-04-04T21:00:00</DeadLineDate>
4

1 回答 1

2

您将需要DeadlineDate, 类型的范围索引dateTime

let $latest := cts:element-values(
  xs:QName('DeadlineDate'), ('document', 'descending', 'limit=1'))
return /document[DeadLineDate eq $latest]

或者你也可以使用这种形式:

(for $n in /document[DeadLineDate]
 order by $n/DeadLineDate descending
 return $n)[1]

我认为第一个通常会更快,但这可能值得测试。

于 2012-04-10T16:39:56.423 回答