2011-03-21 68 views
1

我有一个CouchDB视图,我从中发出三个或四个字段。CouchDB查看问题 - 如何返回“”(空字符串)而不是null?

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

感谢

回答

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

增加了一个类似的版本 – JasonSmith 2011-03-21 14:39:53

相关问题