Скажите, что в моей базе данных есть следующие документы: a_doc1, a_doc2, b_doc1 и b_doc2
Все эти документы имеют следующий формат
<doc>
....
<updatedTime>2011-02-07T14:41:02.133-05:00</updatedTime>
....
</doc
>
Значение элемента "updatedTime" вставляется при создании документа с использованием функции fn: current-dateTime ()
Теперь я пытаюсь сделать следующее:
- найтивсе документы, чье имя начинается с "a _"
- , упорядочивают эти документы по их элементу
<updatedTime>
в порядке убывания - Возвращают имя первого документа по убыванию
Я попробовал следующее:
for $doc_name in db:list()
where fn:starts-with($doc_name, 'a_')
order by xs:dateTime(doc($doc_name)/updatedTime) descending
return $doc_name
Скажем, "a_doc1" создан в "2011-02-07T14: 40: 00.78-05: 00" , а "a_doc2" создан в "2011-02-07T14: 41: 02.133-05: 00" , желаемый вывод - a_doc2 .Короче говоря, должно быть возвращено имя документа (начиная с a_) самого последнего созданного документа .
Когда я пробую свой пример кода, возвращаемое значение: [a_doc1, a_doc2].Ожидаемый результат: [a_doc2, a_doc1].
Спасибо, Sony