CouchDB:在视图中表示NVL()

CouchDB:在视图中表示NVL(),couchdb,couchbase,couchapp,couchdb-futon,Couchdb,Couchbase,Couchapp,Couchdb Futon,我正在为下面的SQL命令编写Couchdb\u设计文档: SELECT NVL(MAX(NVL(VERSION,0)),0)+1 FROM pricelistdocs WHERE PRICE_LIST_ID = ? AND DELETION_FLAG = 0; 在运行和返回值时,我在下面提出了一个_designview函数,但我怀疑该函数是否正确,是否满足上述SQL命令的期望 function(doc){ if(doc.PRICE_LIST_ID == "110011" &&a

我正在为下面的SQL命令编写Couchdb\u设计文档:

SELECT NVL(MAX(NVL(VERSION,0)),0)+1 FROM pricelistdocs WHERE 
PRICE_LIST_ID = ?  AND DELETION_FLAG = 0;
在运行和返回值时,我在下面提出了一个_designview函数,但我怀疑该函数是否正确,是否满足上述SQL命令的期望

function(doc){
 if(doc.PRICE_LIST_ID == "110011"  && doc.DELETION_FLAG == "0" ){
   emit(doc._id, doc.VERSION);
 }
}
请说明如何将
NVL()
MAX
函数添加到上面的“我的设计视图”文档中。
任何消息或线索都将不胜感激。谢谢您的时间。

您可以通过检查字段是否存在并返回0(如果不存在)来编写自己的NVL函数


对于max功能,必须向视图中添加reduce函数。如果您只想获得最大值,
“reduce”:“\u max”
就可以了,这是一个内置的reduce函数。

您可以编写自己的NVL函数,方法是检查字段是否存在,如果不存在,则返回0

对于max功能,必须向视图中添加reduce函数。如果您只想获得最大值,
“reduce”:“\u max”
就可以了,这是一个内置的reduce函数