问题
In a relational db you'd have something like "select name, count(1) as c from mytable group by name order by c desc". Basically I want to count how many records contain each name value and get the ones with highest counts first.
Is there a way to do a similar thing in Marklogic using the Node.js API?
回答1:
Something like this should work:
var marklogic = require('marklogic');
var my = require('./my-connection.js');
var db = marklogic.createDatabaseClient(my.connInfo);
var vb = marklogic.valuesBuilder;
db.values.read(
vb.fromIndexes('name')
.withOptions({values: ['descending', 'frequency-order']});
The Querying Lexicons and Range Indexes section of the Node.js Application Developer's Guide will provide more detail.
来源:https://stackoverflow.com/questions/40715822/marklogic-node-js-api-group-by-and-sort-by-count