Hi James.
Thank you for the suggestions.
Have tried permutations of your suggestions.
No change.
As soon as the function contains nested json(doc.def.ghi) it fails to work.
Complete error message:
[error] 2017-02-08T10:31:46.026000Z couchdb@localhost <0.11919.372>
f0465901da rexi_server
throw:{<<"TypeError">>,{[{<<"message">>,<<"doc.plantation is
undefined">>},{<<"fileName">>,<<"filters.filter1">>},{<<"lineNumber">>,1},{<<"stack">>,<<"([object
Object],[object Object])@filters.filter1:1\n(function (doc, req) {if (
doc.plantation.name && doc.plantation.name === \"Sunset View\") {return
true;} else {return false;}},[object Object],[object
Array])@./share/server/main.js:509\n(\"_design/first_filter\",[object
Array],[object
Array])@./share/server/main.js:1526\n()@./share/server/main.js:1571\n()@./share/server/main.js:1592\n@./share/server/main.js:1\n">>}]}}
[{couch_os_process,prompt,2,[{file,"src/couch_os_process.erl"},{line,59}]},{couch_query_servers,proc_prompt,2,[{file,"src/couch_query_servers.erl"},{line,427}]},{couch_query_servers,with_ddoc_proc,2,[{file,"src/couch_query_servers.erl"},{line,421}]},{couch_query_servers,filter_docs,5,[{file,"src/couch_query_servers.erl"},{line,405}]},{couch_changes,filter,3,[{file,"src/couch_changes.erl"},{line,295}]},{fabric_rpc,changes_enumerator,2,[{file,"src/fabric_rpc.erl"},{line,336}]},{couch_btree,stream_kv_node2,8,[{file,"src/couch_btree.erl"},{line,783}]},{couch_btree,stream_kp_node,8,[{file,"src/couch_btree.erl"},{line,754}]}]
On 8 February 2017 at 10:50, James Dingwall <[email protected]>
wrote:
>
>
> On 08/02/17 08:23, John Le Brasseur wrote:
>
>> Hi.
>> Can anyone tell me why this works:
>>
>> {
>> "_id": "_design/first_filter",
>> "_rev": "24-a6c1822c543f96d1bf4803112092e9ae",
>> "filters": {
>> "filter1": "function(doc, req) {if (doc.abc === \"xyz\") {return
>> true;}else{return false;}}"
>> },
>> "language": "javascript"
>> }
>>
>>
>>
>> and this does not:
>>
>> {
>> "_id": "_design/first_filter",
>> "_rev": "24-a6c1822c543f96d1bf4803112092e9ae",
>> "filters": {
>> "filter1": "function(doc, req) {if (doc.def.ghi === \"jkl\") {return
>> true;}else{return false;}}"
>> },
>> "language": "javascript"
>> }
>>
>>
>> In the second case I get:
>>
>> [error] 2017-02-07T18:55:40.384000Z couchdb@localhost <0.32487.361>
>> f201ca664a OS Process Error <0.18298.118> ::
>> {<<"TypeError">>,{[{<<"message">>,<<"doc.def is undefined">>}
>>
>
> Design documents can be considered by the replication depending on
> configuration and the example you have given does not have doc.def.
> Perhaps rewrite the test to make sure doc.def is present and is an object.
>
> if(doc.def && typeof doc.def === 'object' && doc.def.ghi === 'jkl'){}
> Zynstra is a private limited company registered in England and Wales
> (registered number 07864369). Our registered office and Headquarters are at
> The Innovation Centre, Broad Quay, Bath, BA1 1UD. This email, its contents
> and any attachments are confidential. If you have received this message in
> error please delete it from your system and advise the sender immediately.
>