Предаване на стойности към функция за карта - CouchDB

Чудех се дали е възможно да се предадат стойности към функция за карта в документа за дизайн на couchDB.

Например:

В кода по-долу е възможно да се предаде стойност, която е въведена от потребителя, и да се използва тази стойност за изпълнение на функцията за карта. Може би мога да предам потребители UserName, когато влизат, и след това да покажа изгледа въз основа на функцията на картата.

function(doc) {
   if(doc.name == data-Entered-By-User) {
   emit(doc.type, doc);
  }
}

Благодаря ви предварително. за разбирането


person Skywalker    schedule 17.02.2015    source източник
comment
Вижте документи за това как работят изгледите. Краткият отговор е не, но мисля, че трябва да прочетете повече за това как работи CouchDB (и неговите изгледи).   -  person Dominic Barnes    schedule 18.02.2015


Отговори (1)


Това е често срещана грешка в CouchDB при използване на изгледи. Малко е объркващо, но вместо това:

function (doc) {
  if (doc.value === 'thing I am looking for') {
    emit(doc.value);
  }
}

Това, което искате е това:

function (doc) {
  emit(doc.value);
}

И след това, когато питате, вие правите:

/mydb/_design/myddoc/_view/myview?key="thing I am looking for"

Може да искате да прочетете моите 12 професионални съвети за по-добър код с PouchDB, особено съвет №9. Съветите се отнасят еднакво добре за CouchDB. :)

person nlawson    schedule 25.02.2015