[ 
https://issues.apache.org/jira/browse/COUCHDB-2867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14987619#comment-14987619
 ] 

Tony Sun commented on COUCHDB-2867:
-----------------------------------

With JSON type indexes, the only way to do it is via an in-memory selector (one 
of our limitations). 

But with TEXT indexes, you can create a text index with:
{
    "index": {
        "fields": [{"name": "tags.[]", "type": "string"}]
    },
    "name" : "tags-array-index",
    "type" : "text"
}

then

{
  "selector": {"tags": { "$in": ["a"]}}
}




> Mango: should be able to index *within* arrays
> ----------------------------------------------
>
>                 Key: COUCHDB-2867
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-2867
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Mango
>            Reporter: Nolan Lawson
>
> If you have a document like:
> {code:javascript}
> {
>   "_id": "foo",
>   "tags": ["a", "b", "c"]
> }
> {code}
> ...then you should be able to run queries that find e.g. all documents with 
> "a" as a tag, and it should be *indexed*. Currently there doesn't seem to be 
> any way to do this except as an in-memory selector, which is a real bummer, 
> because it's a super common use case. (Tags, categories, labels, etc.)
> Originally I thought this was how {{$elemMatch}} worked, and I was surprised 
> to learn that that's not the case.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to