Might be a hack, but would a collated view work for getting two arbitrary tags?
function (doc) {
for(var i=0; i<doc.Tags.length; i++)
emit([doc.Tags[i], doc.Tags[i]], null);
then you pass in ?key=["octopus","hockey"]
On Thu, Jul 3, 2008 at 9:15 AM, Jan Lehnardt <[EMAIL PROTECTED]> wrote:
>
> On Jul 3, 2008, at 15:01, Bradford Winfrey wrote:
>
>> Hello everyone, been stalking the mailing list for a while and thought
>> this might be worthy of a post as I was asked to solve it, yet, I couldn't!
>>
>> Let's take the classic blog example document with the following
>> fields/values:
>>
>> "_id": "1f2fc3955b91aed5e7369f0b0ba8214e",
>> "_rev": "1226709986",
>> "Author": "Bradford",
>> "Type": "Post",
>> "Body": "Just mentioning this for a sample blog post.",
>> "PostedDate": "2008-07-02T23:22:12-04:00",
>> "Subject": "My Fine Blog Post",
>> "Tags": ["octopus","hockey","squidward","bradford","recreation"]
>>
>> Next, I'd like to find each blog post that contains ANY of the following
>> tags ["octopus","hockey"]. Now, generally speaking this isn't so bad. We
>> could write a simple view:
>> function (doc) {
>> if (doc.Type == 'Post') {
>> for (var i = 0;i < doc.tags.length; i++) {
>> emit(doc.tags[i],doc);
>> }
>> }
>> }
>>
>> We would get back each one of our tags as a key, yea? Only if we supplied
>> one at a time. So how does one go about supplying a range, array (not sure
>> what we'd call it here) of keys to be searched on?
>> http://...?key=["octopus","hockey"] maybe? I'm unsure of the plan of
>> attack for such a thing. Maybe I'm just going about it in the wrong
>> direction. Any thoughts?
>
> have a look at the bottom of http://wiki.apache.org/couchdb/HttpViewApi
> for the view query options. Specifically the startkey= and endkey= ones.
> Note that you only get consecutive ranges with that. To retrieve arbitrary
> tags, you'd need to run a query per tag with the key= option.
>
> Cheers
> Jan
> --
>