a lightweight MarkLogic structured query builder, offered as a browser-friendly alternative to the official marklogic client
install from npm:
npm install ml-query-builder.js
var qb = require('ml-query-builder.js')
qb.where(qb.and())
// => {query:{queries:[{and-query:{queries:[]}}]}}
A compatible subset of the official queryBuilder
is provided:
where()
and()
or()
not()
documentFragment()
propertiesFragment()
locksFragment()
collection()
directory()
document()
boost()
qname()
element()
datatype()
range()
rangeOptions()
term()
Additionally, extension methods are provided to support server-side query options:
ext.combined()
- builds a combined queryext.rangeConstraint()
- builds arange-constraint-query
ext.valueConstraint()
- builds avalue-constraint-query
ext.wordConstraint()
- builds aword-constraint-query
ext.collectionConstraint()
- builds acollection-constraint-query
ext.customConstraint()
- builds acustom-constraint-query
ext.geospatialValues()
- normalizes geospatial valuesext.geospatialConstraint()
- builds ageospatial-constraint-query
ext.constraint()
- gets a constraint query function by typeext.operatorState()
- builds anoperator-state
query component
adapted from the MLQueryBuilder
angular service in ml-common-ng#v1.0.1