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