Hi,
        Unless the document is HUGE why not do something like:

http://127.0.0.1:5984/db_name/doc_id

and then strip out/manipulate the interesting field client side (e.g. what Futon does)? To me that seems simpler than making a long list of views...
Cheers
Simon

On 8 Jan 2009, at 02:59, Robert Koberg wrote:


On Jan 7, 2009, at 9:24 PM, Paul Davis wrote:

Robert,

The function you're describing doesn't exist, but the end result does.
This would be done using a view to get only parts of a document that
are interesting to the calling code. Its not automatic by any means,
but you could write a view that would give you something similar:

function(doc)
{
  for(var field in doc)
 {
     emit([field, doc._id], doc[field]);
 }
}

Then to access a specific property:

http://127.0.0.1:5984/db_name/_view/view_name/by_property? key=["foo", "docid1"]

OK, that is what I thought. Seems extremely inefficient (but what do I know :) ) since I know the exact document and path to the property. It seems like I would need to create unknown numbers of views to handle these types of lookups while going through all docs in a DB each time.

thanks,
-Rob




HTH,
Paul Davis

On Wed, Jan 7, 2009 at 4:18 PM, Robert Koberg <[email protected]> wrote:
Hi,

first, couchdb is just beautiful! :) (using 0.8.1-incubating from MacPorts)

I am very new, and have read the available docs and several blog posts.

Can you drill into a doc with a simple GET?

Say I have a doc like:

{"_id": "a", "_rev": "123", "foo":{"bar": 1}, "big-ass-prop": "huge amount
of stuff"}

Ideally I would like to be able to call something like:

http://127.0.0.1:5984/mydb/a/foo

to return {"bar":1} and avoid downloading "big-ass-prop"

Is this or something like it possible?

(I realize "foo" is a 'sibling' of the _id in the document, but it is
probably treated more like a parent in the DB?)

If not possible, is it possible to create some kind of default
action/filter/? that does something like the above? That is, reads the request uri, recognizes it is a document and that there is extra path info
which should be used to resolve a property.

thanks,
-Rob



Reply via email to