CouchDB查看问题 - 如何返回“”(空字符串)而不是null?

时间:2011-03-21 11:48:21

标签: couchdb

我有一个CouchDB视图,我可以从中发出三到四个字段。

如果给定记录的PHONE_MOBILE字段为空,则视图输出包含null

相反,我希望它发出“”(即空白字符串/无)

实现这一目标的最佳方法是什么?这是视图代码:

{
   "_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 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

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 || "")
    }) 
}