Вопрос просмотра CouchDB - как вернуть "" (пустую строку) вместо нуля? - PullRequest
1 голос
/ 21 марта 2011

У меня есть представление CouchDB, из которого я генерирую три или четыре поля.

Если поле PHONE_MOBILE для данной записи пустое, выходные данные представления содержат нуль

Вместо этого я хотел быэто испустить "" (то есть пустая строка / ничего)

Каков наилучший способ достичь этого?Вот код представления:

{
   "_id": "_design/blah",
   "_rev": "20-e07e50de179d0df5e7bce52fdb7ee4d2",
   "views": {
       "by_surname3": {
           "map": "function(doc) { if (doc.SURNAME)  emit(doc.SURNAME.toLowerCase(), {SURNAME: doc.SURNAME, FIRSTNAME: doc.FIRSTNAME, PHONE_MOBILE: doc.PHONE_MOBILE}) }"
       }
   }
}

Спасибо

1 Ответ

3 голосов
/ 21 марта 2011

Вы можете использовать что-то вроде этого:

function(doc) { 
  if (doc.SURNAME)  
    emit(doc.SURNAME.toLowerCase(), {
        SURNAME: doc.SURNAME, 
        FIRSTNAME: doc.FIRSTNAME, 
        PHONE_MOBILE: (doc.PHONE_MOBILE ? doc.PHONE_MOBILE : "")
    }) 
}

Или, если хотите, оператор или для предоставления значения по умолчанию.

function(doc) { 
  if (doc.SURNAME)  
    emit(doc.SURNAME.toLowerCase(), {
        SURNAME: doc.SURNAME, 
        FIRSTNAME: doc.FIRSTNAME, 
        PHONE_MOBILE: (doc.PHONE_MOBILE || "")
    }) 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...