Did you mean FacetDefinition.orderBy or WordsSearch.orderBy or TuplesSearch.orderBy or ValuesSearch.orderBy?

DocumentsSearch.orderBy( sortKeys as cts.order ) as DocumentsSearch
Specifies the sort order for matched documents.
Each sorting specifier can be either a string, a cts.reference object, or a cts.order object. You pass a single specifier, or an array of specifiers. You can mix different types of specifiers.
A simple string implicitly specifies ascending order by index value,
where the index is a string-typed
cts.jsonPropertyReference.
For example, 'name' implies the same ordering as the following:
cts.indexOrder(cts.jsonPropertyReference(name, ['type=string'])).
To specify more configuration details about the index type,
such as a collation or a non-string type, use a
cts.reference instead of a simple name. To specify ordering
options such as descending order, use a cts.order
constructor such as cts.indexOrder.
A cts.reference object creates an index based cts.order
object, as if you used cts.indexOrder. To create a
cts.reference, use constructors such as
cts.jsonPropertyReference,
cts.elementReference,
cts.pathReference, or
cts.geospatialJsonPropertyReference.
To specify additional
ordering options, such as changing the order from ascending to descending,
use a cts.order constructor such as
cts.indexOrder.
To use another ordering scheme or to control whether to return results
in ascending or descending order, use a cts.order
constructor such as
cts.documentOrder,
cts.confidenceOrder,
cts.indexOrder, or
cts.unordered.
You must use this form to specify ordering options, such as changing
the order from ascending to descending.
// Example: Using a simple JSON property name as input
// Find documents where the "author" JSON property contains the word "twain",
// and order the results by the value of the "title" JSON property, ascending.
const jsearch = require('/MarkLogic/jsearch.sjs');
jsearch.documents()
.where(jsearch.byExample({'author': { '$word': 'twain' }}))
.orderBy('title')
.result();
// Example: Using a JSON property with sort order option.
// Find documents where the "author" JSON property contains the word "twain",
// and order the results by the value of the "title" JSON property, descending.
const jsearch = require('/MarkLogic/jsearch.sjs');
jsearch.documents()
.where(jsearch.byExample({'author': { '$word': 'twain' }}))
.orderBy(
cts.indexOrder(cts.jsonPropertyReference('title'), 'descending'))
.result();
// Example: Using a cts.reference to an XML element as input
// Order results by the value of the XML element "someElem" in the
// namespace "/my/namespace", ascending.
const jsearch = require('/MarkLogic/jsearch.sjs');
jsearch.documents()
...
.orderby(cts.elementReference(fn.QName('/my/namespace','someElem'))
.result();
// Example: Using a cts.order object as input
// Order results by descending order of relevance score
const jsearch = require('/MarkLogic/jsearch.sjs');
jsearch.documents()
...
.orderBy(cts.scoreOrder('descending'))
.result();
// Example: Using multiple sort keys
// Order result first by "price" values, and then by "title" values, ascending.
const jsearch = require('/MarkLogic/jsearch.sjs');
jsearch.documents()
...
.orderBy(['price', 'title'])
.result();
// Example: Mixing different kinds of ordering specifiers
const jsearch = require('/MarkLogic/jsearch.sjs');
jsearch.documents()
...
.orderBy([
'jsonPropName',
cts.elementReference(fn.QName('/my/namespace','someElem')),
cts.indexOrder(cts.fieldReference('someField'), 'descending'),
cts.qualityOrder()
])
.result();
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.