Как ограничить строки в списке внутри документа? - PullRequest
2 голосов
/ 14 февраля 2012

У меня есть что-то вроде документа:

{"name":"Stock levels",
 "content":[
    {"sku":"328143",
     "name":"Battery",
     "stocklevel":"100",
     "warehouse":"london"},
    {"sku":"328143",
     "name":"Battery",
     "stocklevel":"20",
     "warehouse":"manchester"},
    {"sku":"328143",
     "name":"Battery",
     "stocklevel":"30",
     "warehouse":"brighton"}]}

Там, где в списке "содержимого" может быть довольно много строк.

То, что я хочу сделать, это вернуть внутренний счетчик строк и только одну строку из списка.Например,

{"name":"Stock levels",
 "rows" : "2300",
 "content":[
    {"sku":"328143",
     "name":"Battery",
     "stocklevel":"100",
     "warehouse":"london"}]}

Как мне добиться этого в CouchDb?Моя первоначальная мысль - использовать список, чтобы эффективно перестроить документ, вставить поле дополнительных строк и ограничить число возвращаемых строк внутри, но я не уверен, что это лучший подход.

Спасибо

1 Ответ

4 голосов
/ 14 февраля 2012

Вы можете использовать представление,

. Следующий пример позволяет выполнять поиск по идентификатору документа
(который является ключом)

function(doc)
{
  if (doc._id == "xxx")
  {
    emit(doc._id, {name:doc.name, rows:doc.content.length, content:doc.content[0]});
  } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...