The format of your design document is wrong. You need to have the view defined using specific json structure like in the example here: http://wiki.apache.org/couchdb/HttpViewApi

On Jun 10, 2008, at 3:25 PM, Brad King wrote:

When I remove the text/ prefix I still get the 500 error, and the
query interface in the browser starts throwing "undefined" alert
boxes. One thing I find confusing is the error is saying
application/json is not a defined query language. Is my POST supposed
to have Content-Type application/json or text/javascript? I see a mix
of both here:

http://wiki.apache.org/couchdb/Views

"Temporary views are not stored in the database, but rather executed
on demand. To execute a temporary view, you make an HTTP POST request
to the URI /{dbname}/_temp_view, where the body of the request
contains the code of the view function and the Content-Type header is
set to text/javascript. "

OR

http://wiki.apache.org/couchdb/HttpViewApi

"Ad Hoc Views
One-off queries (eg. views you don't want to save in the CouchDB
database) can be done via the special view _temp_view:

POST /some_database/_temp_view  HTTP/1.0
Content-Length: 48
Date: Mon, 10 Sep 2007 17:11:10 +0200
Content-Type: application/json

{
"map" : "function(doc) { if (doc.foo=='bar') { emit(null, doc.foo); } }"
}
"

Seems like conflicting info to accomplish the same thing.



On 6/10/08, Jan Lehnardt <[EMAIL PROTECTED]> wrote:

On Jun 10, 2008, at 21:03, Brad King wrote:

I tried adding the "language" specifier, but no change. The couch.ini
section you mentioned looks like this:

[Couch Query Servers]

text/javascript=/usr/local/bin/couchjs -f
/usr/local/share/couchdb/server/main.js


drop the "text/" prefix and try again,

thx,
Jan
--





On 6/10/08, Chris Anderson <[EMAIL PROTECTED]> wrote:

Brad,

there's an (optional) parameter on view json. try this:

{
"language": "javascript",
"map" : "function(doc) { emit(null, doc); } "
}

although "javascript" is supposed to be the default, so it makes me
wonder if something else s the source of your error.

The problem could be with your couch.ini file -
/usr/local/etc/couchdb/couch.ini should have a line in
it like this
(which is also the default):

[Couch Query Servers]

javascript=/usr/local/bin/couchjs
/usr/local/share/couchdb/server/main.js


On Tue, Jun 10, 2008 at 11:18 AM, Brad King <[EMAIL PROTECTED]> wrote:

Chris: ah, yes I screwed up the URL, however I still get the 500 after
fixing this:

POST /product/_temp_view HTTP/1.0
Content-Type: application/json
Content-Length: 55
Host: d0002rptdb02:5984

{
"map" : "function(doc) { emit(null, doc); } "
}

Different error though

HTTP/1.0 500 Internal Server Error
Server: inets/develop
Date: Tue, 10 Jun 2008 18:12:52 GMT
Cache-Control: no-cache
Pragma: no-cache
Expires: Tue, 10 Jun 2008 18:12:52 GMT
Connection: close
Content-Type: text/plain;charset=utf-8


{"error":"query_language_unknown","reason":"application\/json"}


Jan, this is the correct format for an ad-hoc view, no? the page you
linked me to is where I got the info.

BTW I can browse the database just fine with a web browser, and the
default query runs ok in a browser as well.

Thanks

On 6/10/08, Chris Anderson <[EMAIL PROTECTED]> wrote:

Brad,

It look like the url:


POST /product/_test_view HTTP/1.0



should be /product/_design/test_view (for a named view)

or /product/_temp_view

assuming your db name is product.

Hope that helps.

Chris

--
Chris Anderson
http://jchris.mfdz.com







--
Chris Anderson
http://jchris.mfdz.com







Reply via email to