一般来说,我对 Marklogic 和 xquery 还是很陌生。我们有一组以截止日期为节点的文档。有人可以帮助我使用 xquery 根据截止日期获取最新文档吗?每个文档看起来像
<document>
<Id>blah<Id>
<DeadlineDate>2012-04-04T21:00:00</DeadLineDate>
您将需要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]
我认为第一个通常会更快,但这可能值得测试。