Подстановочные знаки в представлениях с CouchDB?

Можно ли использовать подстановочные знаки в представлениях в CouchDB? Например, допустим, у меня есть база данных, в которой есть команды, возраст игроков, средние показатели игроков и пол игроков. Однако возраст игроков может быть неизвестен — они могут быть из Доминиканской Республики или еще откуда-то. Итак, я хочу использовать представление с функцией карты, которая может принять отсутствие возраста игрока. Если я хочу получить игрока с самым высоким средним показателем в команде независимо от возраста или определенного возраста, как мне это сделать, если я хочу использовать составные ключи? Например, скажем, моя функция испускания карты выглядит примерно так:

emit([doc.team, doc.gender, doc.age], doc.average);

Что мне делать, если я хочу передать ключ, чтобы сузить его, но все же учитывать игроков, у которых не указан возраст, поэтому вместо:

http://127.0.0.1:5984/savings/_design/players/_view/average?key=["Yankees","male",8]

делать что-то, что включает в себя подстановочный знак, такой как это, чтобы получить средние значения независимо от возраста:

http://127.0.0.1:5984/savings/_design/players/_view/average?key=["Yankees","male",*]

Можно ли написать представление в CouchDB, чтобы сделать что-то подобное? Или мне нужно написать несколько представлений и обрабатывать их отдельно?

Спасибо,
Бен


person user21293    schedule 07.09.2010    source источник


Ответы (2)


Вы можете указать startkey и endkey и использовать "подстановочный знак" {}, пустой объект JavaScript:

http://127.0.0.1:5984/savings/_design/players/_view/average?startkey=["Yankees","male",0]&endkey=["Yankees","male",{}]
person noun    schedule 31.08.2013

Использование подстановочных знаков невозможно, но вы можете указать startkey и endkey:

http://127.0.0.1:5984/savings/_design/players/_view/average?startkey=["Yankees","male",0]&endkey=["Yankees","male",999]
person amorfis    schedule 07.09.2010
comment
endkey=[Yankees,male,{}] должен работать лучше, так как {} сортируется после любого числа. - person ordnungswidrig; 10.11.2010
comment
Как указали dedalo и ordnungswidrig, вы можете использовать пустые фигурные скобки в качестве подстановочного знака с startkey и endkey, поэтому ваш ответ немного сбивает с толку, когда он говорит, что подстановочный знак невозможен. - person Bdoserror; 30.01.2014