Выберите документы, у которых нет ключей в CouchDB - PullRequest
3 голосов
/ 06 октября 2010

Имея документ статьи со встроенным массивом тегов, как выбрать статьи, в которых нет определенных тегов?

Спасибо

Ответы [ 2 ]

2 голосов
/ 12 октября 2010

Довольно легко создавать представления, исключающие документы, которые не содержат определенных тегов. Это задокументировано здесь: CouchDB Wiki: Просмотр фрагментов: получение документов без определенного поля .

Тем не менее, я подозреваю, что вам действительно нужен способ сделать это динамически, имея единственное представление, в которое можно передать параметр, содержащий тег (ы), которые вы хотите исключить. Это довольно сложно, и я не знаю, как это можно сделать. В этом случае я предлагаю вам отправить вопрос в список рассылки couchdb-user или на канал IRC (irc: //irc.freenode.net/couchdb) Это активное и полезное сообщество, поэтому кто-то обязательно попытается помочь вам разобраться в этом.

FWIW, я сделал быстрый поиск и нашел эту интересную идею: Использование _list для пост-обработки запроса . Ответов не было, но это интересная идея, которую, возможно, стоит изучить.

НТН!

0 голосов
/ 26 декабря 2013

Да, как предлагает @AviFlax, использование _list для пост-обработки вашего представления будет работать.
Обратите внимание, что вы можете отправлять произвольные параметры в представление и получать их в списке inisde объекта req.query.

Пример:

GET http://host/db/_design/ddoc/_list/a-list/a-view?some="thing"

Произвольный параметр some может быть получен в функции списка и, таким образом, использован для фильтрации или другой обработки.

function(head, req) {
   var some = req.query.some
   ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...