2012-01-27 11 views
7

देता है मैं CouchDB 1.1.1 का उपयोग डेबियन परीक्षण मेंCouchDB: डिजाइन दस्तावेज़ में नक्शा compilation_error

और मैं डेटाबेस में

{ 
"_id": "_design/Page", 
"_rev": "9-1944cdebabf20ae569eab7b534b43e67", 
"views": { 
    "all": { 
     "map": "function(doc) {}" 
    } 
}, 
"language": "javascript" 
} 

इस डिजाइन दस्तावेज़ है, लेकिन फिर भी मैं http://localhost:5984/db_development/_design/Page/_view/all

इस में मिलता है {"error":"compilation_error","reason":"Expression does not eval to a function. ((new String(\"function(doc) {}\")))"}

मैंने स्पाइडरमोनकी-बिन दुभाषिया में विभिन्न सरल मानचित्र कार्यों को चलाने की कोशिश की और वे सही ढंग से लोड हो गए, लेकिन सैम CouchDB में ई त्रुटि

मैं वास्तव में, नहीं देख सकते हैं, जहां समस्या है ....

ठीक है, मेलिंग सूची में मैंने पाया कि यह "()" क्योंकि कुछ है समारोह रैप करने के लिए कोष्ठकों करने की जरूरत है, नए Spidermonkey में बदल

तो नक्शा समारोह इस तरह दिखता है: "map": "(function(doc) { emit([doc._id, doc._rev]);})"

उत्तर

10

ठीक है, मेलिंग सूची में मैंने पाया कि यह कोष्ठकों को समारोह रैप करने के लिए की जरूरत है "() ", क्योंकि कुछ नए Spidermonkey में बदल गया है

तो समारोह इस तरह दिखता है नक्शा:" नक्शा ":" (समारोह (doc) {फेंकना ([doc._id, doc._rev]);}) "

+1

आपने अभी मेरे लिए दिन बचाया, इवान। धन्यवाद! –

-3

नक्शा समारोह के अंदर कोई वापसी बयान नहीं है। आपके मानचित्र फ़ंक्शन को कुछ वापस करने की आवश्यकता है।

आप सभी दस्तावेजों की एक कच्चे डंप प्राप्त करने की आवश्यकता है, वहाँ है एक अंतर्निहित विशेषता यह है कि के लिए: http://wiki.apache.org/couchdb/HTTP_Document_API#all_docs

+0

मैं इसे "फ़ंक्शन (डॉक्टर) {emit (doc._id, doc._rev)}" या अधिक जटिल फ़ंक्शन में बदल सकता हूं लेकिन फिर भी वही त्रुटि –

+1

-1 क्योंकि उत्तर केवल सादा गलत है। couchdb मानचित्र कार्यों को कुछ भी वापस करने की आवश्यकता नहीं है, और भी, जावास्क्रिप्ट कार्यों को वैसे भी वैध कार्यों के लिए कुछ भी वापस करने की आवश्यकता नहीं है। – hasen

0

यदि आपको यह त्रुटि मिलती है, तो सावधान रहें कि डिज़ाइन दस्तावेज़ सही ढंग से संरचित है। (मैं अपने shows परिभाषा में एक गूंगा त्रुटि के कारण इस प्रकार का संदेश मिला है।)

इसके अलावा, यकीन नहीं यह एक समस्या है, लेकिन मुझे नहीं लगता कि समारोह परिभाषा कर्ली कोष्ठक से पहले एक स्थान होना चाहिए ।

संबंधित मुद्दे