2016-11-21 1 views
1

Я хочу получить все документы в моем MarkLogic db, которые имеют месяц = ​​ноябрь, а также группировать их по имени и получать количество записей для каждого имени. Я знаю, что могу получить частоту для имени, используя valuesBuilder с индексом диапазона в поле имени, но как я могу отфильтровать этот результат, чтобы получить только количество записей за ноябрь?Marklogic Node API - как фильтровать результаты из значенийBuilder

Предположительно значенияBuilder.fromIndexes(). Where() могут выполнять фильтрацию, но я не знаю, что передать здесь, а примеры в Интернете кажутся разреженными.

ответ

3

В соответствии с API doc предложение where принимает запросBuilder.query. Имея это в виду, вы должны сделать что-то подобное (не проверено):

var marklogic = require('marklogic'); 
var vb = marklogic.valuesBuilder; 
var qb = marklogic.queryBuilder; 
vb 
    .fromIndexes() 
    .where(qb.value('month', 'November')) 
+0

Спасибо! Я пытался прежде чем передать qb.byExample, чтобы перейти туда, но, по-видимому, это не работает по какой-либо причине (я предположил, что qb.byExample и qb.value возвратили тот же тип вещи) –

+0

Query By Example не работает в Ценности Builder. Это была бы разумная проблема RFE, которую вы могли бы записать в репозиторий GitHub. – ehennum

Смежные вопросы