Executing a view

38 views
Skip to first unread message

Kevin Burton

unread,
Nov 8, 2012, 2:55:31 PM11/8/12
to us...@couchdb.apache.org
This command works very fast and is just what I want:



curl http://kevin-linux:5984/buyseasons/_design/product/_view/by-sku



No how do I get my driver (Hammock) to issue a similar command?



Sorry to post driver specific questions to this group but it doesn't seem
that there is a user group for this driver or any documentation.



Thank you.

Kevin Coombes

unread,
Nov 8, 2012, 4:01:16 PM11/8/12
to us...@couchdb.apache.org, Kevin Burton
If there is no documentation and no user group and no support for this
driver, why are you using it?

As for your question: how do you tell your "driver" to issue an HTTP GET
request? Since you know the URL, that's all you need to do.

Kevin Burton

unread,
Nov 8, 2012, 4:55:09 PM11/8/12
to us...@couchdb.apache.org
For the driver selection. It was a decision based on a list of .NET drivers
listed on the CouchDB web site. If you have a suggestion of a .NET driver
that has a user group and full documentation I would happily accept your
suggestion. I could not see that any of the .NET drivers had a user group or
a URL for documentation.

This is again a driver question as there is no way that I know to pass the
URL to the driver and tell it to execute it.

matt j. sorenson

unread,
Nov 8, 2012, 5:13:14 PM11/8/12
to us...@couchdb.apache.org
On Thu, Nov 8, 2012 at 3:55 PM, Kevin Burton <rkevin...@charter.net>wrote:

> For the driver selection. It was a decision based on a list of .NET drivers
> listed on the CouchDB web site. If you have a suggestion of a .NET driver
> that has a user group and full documentation I would happily accept your
> suggestion. I could not see that any of the .NET drivers had a user group
> or
> a URL for documentation.
>
> This is again a driver question as there is no way that I know to pass the
> URL to the driver and tell it to execute it.
>

Belay Software links to the project's home page here
http://code.google.com/p/relax-net/

and the "support" link for Hammock from their website brings one to the
issues form here http://code.google.com/p/relax-net/issues/entry

From the first page, it appears that when you issue the query (in linq or
nhibernate syntax? not sure, don't use the platform) that it actually
generates the view and executes it and returns the results all in that one
swoop.

hth

Kevin Burton

unread,
Nov 8, 2012, 5:26:39 PM11/8/12
to us...@couchdb.apache.org
Thank you. I saw the github link but my question is not really an "issue". I
picture "issues" as being bugs. This isn't a bug. As for the first URL I saw
that also. But it doesn't show how to execute a view it just shows that one
is automatically created. Anyone have a more definitive answer?

-----Original Message-----
From: matt j. sorenson [mailto:ma...@sorensonbros.net]
Sent: Thursday, November 08, 2012 4:13 PM
To: us...@couchdb.apache.org
Subject: Re: Executing a view

matt j. sorenson

unread,
Nov 8, 2012, 5:34:36 PM11/8/12
to us...@couchdb.apache.org
On Thu, Nov 8, 2012 at 4:26 PM, Kevin Burton <rkevin...@charter.net>wrote:

> Thank you. I saw the github link but my question is not really an "issue".
> I
> picture "issues" as being bugs. This isn't a bug. As for the first URL I
> saw
> that also. But it doesn't show how to execute a view it just shows that one
> is automatically created. Anyone have a more definitive answer?
>

My interpretation is that it both creates the view and then executes it,
returning the results. My interpretation is based on the continuation line
that reads "And then execute a request against that view, using the
parameters specified:"

Have you found this not to be the case? If it's not returning the expected
results, then I'd say filing an issue, even if it's more inquiry than
issue, is perfectly acceptable.

cheers
--
matt

Kevin Burton

unread,
Nov 8, 2012, 5:42:52 PM11/8/12
to us...@couchdb.apache.org
I have created a new view and I want to execute it. This view takes no
parameters it returns every node that has a specific id. Since the id is not
part of the document there is no LINQ query that I can execute. My case does
not match the example so it is comparing apples to oranges.

matt j. sorenson

unread,
Nov 9, 2012, 9:57:19 AM11/9/12
to us...@couchdb.apache.org
On Thu, Nov 8, 2012 at 4:42 PM, Kevin Burton <rkevin...@charter.net>wrote:

> I have created a new view and I want to execute it. This view takes no
> parameters it returns every node that has a specific id. Since the id is
> not
> part of the document there is no LINQ query that I can execute. My case
> does
> not match the example so it is comparing apples to oranges.
>
>
How do you mean, "the id is not part of the document"..? And how did you
create the view?... perhaps paste your snippet to a gist and share it.
Again, I don't have an environment for this, but I gather that if you have
an instance of Hammock's Repository class and the name of the view, you
ought to be able to run Load, List, etc on it.

rkevin...@charter.net

unread,
Nov 9, 2012, 11:27:23 AM11/9/12
to us...@couchdb.apache.org

Here is the view that I created with Futon:

{

"by-sku": {

"map": "function(doc) {\n if (doc._id.indexOf('product-') === 0)
{\n emit(doc.SKU, null);\n }\n}\n"

},

"_all": {

"map": "function(doc) {\n if
(doc._id.indexOf('product-') === 0) {\n
emit(null, null);\n }\n }"

}

}

Like I indicated earlier I can run the view using curl and it runs
fairly fast and gives me results. The document that is stored using
Hammock only is my local model Hammock hides the id. The Load and Save
methods take as an argument the id which I don't know. Besides I want
all of the documents that match the pattern in the id so I don't want to
just Load a single document.

On Fri, Nov 9, 2012 at 8:57 AM, matt j. sorenson wrote:

> On Thu, Nov 8, 2012 at 4:42 PM, Kevin Burton
<rkevin...@charter.net
<javascript:parent.wgMail.openComposeWindow('rkevin...@charter.net')>
 
<javascript:parent.wgMail.openComposeWindow('rkevin...@charter.net')>
>wrote:

> I have created a new view and I want to execute it. This view takes no
> parameters it returns every node that has a specific id. Since the id
> is
> not
> part of the document there is no LINQ query that I can execute. My
> case
> does
> not match the example so it is comparing apples to oranges.
>
>
How do you mean, "the id is not part of the document"..? And how did you
create the view?... perhaps paste your snippet to a gist and share it.
Again, I don't have an environment for this, but I gather that if you
have
an instance of Hammock's Repository class and the name of the view, you
ought to be able to run Load, List, etc on it.

-----Original Message-----
> From: matt j. sorenson [mailto:ma...@sorensonbros.net]
> <javascript:parent.wgMail.openComposeWindow('[mailto:ma...@sorensonbros.net]')>
>  
> <javascript:parent.wgMail.openComposeWindow('[mailto:ma...@sorensonbros.net]')>
> Sent: Thursday, November 08, 2012 4:35 PM
> To: us...@couchdb.apache.org
> <javascript:parent.wgMail.openComposeWindow('us...@couchdb.apache.org')>
>  
> <javascript:parent.wgMail.openComposeWindow('us...@couchdb.apache.org')>
> Subject: Re: Executing a view
>
> On Thu, Nov 8, 2012 at 4:26 PM, Kevin Burton
> <rkevin...@charter.net
> <javascript:parent.wgMail.openComposeWindow('rkevin...@charter.net')>
>  
> <javascript:parent.wgMail.openComposeWindow('rkevin...@charter.net')>
>> <javascript:parent.wgMail.openComposeWindow('[mailto:ma...@sorensonbros.net]')>
>>  
>> <javascript:parent.wgMail.openComposeWindow('[mailto:ma...@sorensonbros.net]')>
>> Sent: Thursday, November 08, 2012 4:13 PM
>> To: us...@couchdb.apache.org
>> <javascript:parent.wgMail.openComposeWindow('us...@couchdb.apache.org')>
>>  
>> <javascript:parent.wgMail.openComposeWindow('us...@couchdb.apache.org')>
>> Subject: Re: Executing a view
>>
>> On Thu, Nov 8, 2012 at 3:55 PM, Kevin Burton
>> <rkevin...@charter.net
>> <javascript:parent.wgMail.openComposeWindow('rkevin...@charter.net')>
>>  
>> <javascript:parent.wgMail.openComposeWindow('rkevin...@charter.net')>
>> >wrote:
>>
>>> For the driver selection. It was a decision based on a list of .NET
>>> drivers listed on the CouchDB web site. If you have a suggestion of
>>> a .NET driver that has a user group and full documentation I would
>>> happily accept your suggestion. I could not see that any of the .NET
>>> drivers had a user group or a URL for documentation.
>>>
>>> This is again a driver question as there is no way that I know to
>>> pass the URL to the driver and tell it to execute it.
>>>
>>
>> Belay Software links to the project's home page here
>> http://code.google.com/p/relax-net/
>> <http://code.google.com/p/relax-net/>  
>> <http://code.google.com/p/relax-net/>
>> and the "support" link for Hammock from their website brings one to
>> the issues form here http://code.google.com/p/relax-net/issues/entry
>> <http://code.google.com/p/relax-net/issues/entry>  

matt j. sorenson

unread,
Nov 9, 2012, 1:02:38 PM11/9/12
to us...@couchdb.apache.org
On Fri, Nov 9, 2012 at 10:27 AM, <rkevin...@charter.net> wrote:

>
> Here is the view that I created with Futon:
>
> {
>
> "by-sku": {
>
> "map": "function(doc) {\n if (doc._id.indexOf('product-') === 0)
> {\n emit(doc.SKU, null);\n }\n}\n"
>
> },
>
> "_all": {
>
> "map": "function(doc) {\n if
> (doc._id.indexOf('product-') === 0) {\n emit(null, null);\n
> }\n }"
>
> }
>
> }
>
> Like I indicated earlier I can run the view using curl and it runs fairly
> fast and gives me results. The document that is stored using Hammock only
> is my local model Hammock hides the id.


According the Hammock wiki, there's an interface that may be implemented on
your class(es) to change this particular behavior of Hammock.

The Load and Save methods take as an argument the id which I don't know.
> Besides I want all of the documents that match the pattern in the id so I
> don't want to just Load a single document.
>

Given Hammock's apparent syntax, I might assert that a view 'by-sku' would
be expecting a 'sku' query argument, perhaps something like:

var r = new Repository<Product>(s);
var skus = r.Where(x => x.Sku).List();

Alternatively, I'd wonder if something simple like this might be supported:

var skus = r.Get<Sku>(s);

Inquiring on the projects issue queue or emailing the authors of Hammock
would surely yield the answer much quicker and more accurately.

--
matt

On Fri, Nov 9, 2012 at 8:57 AM, matt j. sorenson wrote:
>
> > On Thu, Nov 8, 2012 at 4:42 PM, Kevin Burton <rkevin...@charter.net<javascript:parent.wgMail.
> **openComposeWindow('rkevinburto**n...@charter.net <rkevin...@charter.net>')>
> <javascript:parent.wgMail.**openComposeWindow('rkevinburto**
> n...@charter.net <rkevin...@charter.net>')>
>
>> wrote:
>>
>
> I have created a new view and I want to execute it. This view takes no
>> parameters it returns every node that has a specific id. Since the id is
>> not
>> part of the document there is no LINQ query that I can execute. My case
>> does
>> not match the example so it is comparing apples to oranges.
>>
>>
>> How do you mean, "the id is not part of the document"..? And how did you
> create the view?... perhaps paste your snippet to a gist and share it.
> Again, I don't have an environment for this, but I gather that if you have
> an instance of Hammock's Repository class and the name of the view, you
> ought to be able to run Load, List, etc on it.
>
> -----Original Message-----
>
>> From: matt j. sorenson [mailto:ma...@sorensonbros.net]
>> <javascript:parent.wgMail.**openComposeWindow('[mailto:mat**
>> t...@sorensonbros.net <ma...@sorensonbros.net>]')>
>> <javascript:parent.wgMail.**openComposeWindow('[mailto:mat**
>> t...@sorensonbros.net <ma...@sorensonbros.net>]')> Sent: Thursday, November
>> 08, 2012 4:35 PM
>> To: us...@couchdb.apache.org <javascript:parent.wgMail.**
>> openComposeWindow('user@**couchdb.apache.org <us...@couchdb.apache.org>')>
>> <javascript:parent.wgMail.**openComposeWindow('user@**
>> couchdb.apache.org <us...@couchdb.apache.org>')> Subject: Re: Executing a
>> view
>>
>>
>> On Thu, Nov 8, 2012 at 4:26 PM, Kevin Burton
>> <rkevin...@charter.net <javascript:parent.wgMail.**openComposeWindow('
>> rkevinburto**n...@charter.net <rkevin...@charter.net>')>
>> <javascript:parent.wgMail.**openComposeWindow('rkevinburto**n...@charter.net<rkevin...@charter.net>')>
>>> To: us...@couchdb.apache.org <javascript:parent.wgMail.**
>>> openComposeWindow('user@**couchdb.apache.org <us...@couchdb.apache.org>')>
>>> <javascript:parent.wgMail.**openComposeWindow('user@**
>>> couchdb.apache.org <us...@couchdb.apache.org>')> Subject: Re: Executing
>>> a view
>>>
>>> On Thu, Nov 8, 2012 at 3:55 PM, Kevin Burton
>>> <rkevin...@charter.net <javascript:parent.wgMail.**
>>> openComposeWindow('rkevinburto**n...@charter.net <rkevin...@charter.net>')>
>>> <javascript:parent.wgMail.**openComposeWindow('rkevinburto**
>>> n...@charter.net <rkevin...@charter.net>')> >wrote:
>>>
>>>
>>> For the driver selection. It was a decision based on a list of .NET
>>>> drivers listed on the CouchDB web site. If you have a suggestion of
>>>> a .NET driver that has a user group and full documentation I would
>>>> happily accept your suggestion. I could not see that any of the .NET
>>>> drivers had a user group or a URL for documentation.
>>>>
>>>> This is again a driver question as there is no way that I know to
>>>> pass the URL to the driver and tell it to execute it.
>>>>
>>>>
>>> Belay Software links to the project's home page here
>>> http://code.google.com/p/**relax-net/<http://code.google.com/p/relax-net/><
>>> http://code.google.com/p/**relax-net/<http://code.google.com/p/relax-net/>>
>>> <http://code.google.com/p/**relax-net/<http://code.google.com/p/relax-net/>
>>> >
>>>
>>> and the "support" link for Hammock from their website brings one to
>>> the issues form here http://code.google.com/p/**relax-net/issues/entry<http://code.google.com/p/relax-net/issues/entry><
>>> http://code.google.com/p/**relax-net/issues/entry<http://code.google.com/p/relax-net/issues/entry>>
>>> <http://code.google.com/p/**relax-net/issues/entry<http://code.google.com/p/relax-net/issues/entry>

Kevin Burton

unread,
Nov 9, 2012, 1:22:59 PM11/9/12
to us...@couchdb.apache.org, us...@couchdb.apache.org
Thank you for your help. When I execute this view with 'curl' I do not supply an argument which is what I want. I want a list of SKUs not a particular document that has a given SKU as a property.
I hesitate to post an issue because I don't consider this a bug. Posting an issue gives me a hint to supply much the same information that I would if I was filing a bug. But if this is the only way to find a solution then so be it. You don't happen to have the email addresses of the authors do you? The email addresses on the wiki seem to be masked. When I click on the address I get another web page instead of my email client. Thanks again.

matt j. sorenson

unread,
Nov 9, 2012, 1:43:41 PM11/9/12
to us...@couchdb.apache.org
On Fri, Nov 9, 2012 at 12:22 PM, Kevin Burton <rkevin...@charter.net>wrote:

> Thank you for your help. When I execute this view with 'curl' I do not
> supply an argument which is what I want. I want a list of SKUs not a
> particular document that has a given SKU as a property.
> I hesitate to post an issue because I don't consider this a bug. Posting
> an issue gives me a hint to supply much the same information that I would
> if I was filing a bug. But if this is the only way to find a solution then
> so be it. You don't happen to have the email addresses of the authors do
> you? The email addresses on the wiki seem to be masked. When I click on the
> address I get another web page instead of my email client. Thanks again.
>

Have you tried just r.List();??? There's also a special query syntax in
Hammock for the '_all' map function, but i see no examples of it in
practice.

The contact emails are revealed if you click thru and complete the captcha.
Reply all
Reply to author
Forward
0 new messages