[ https://issues.apache.org/jira/browse/COUCHDB-2867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15942354#comment-15942354 ]
Stefan Buhrmester commented on COUCHDB-2867: -------------------------------------------- Hmm I don't think that introducing a `json-deep` type is a good solution. Rather the `json` type index should be changed to support that. eg: Have a document: {code} { _id: "et34t3geg", tags: [{name: "movies"}, {name: "bikes"}] } {code} Then it should be indexed by {code} { "index": { "fields": ["tags.[].name"] }, "name" : "myindex", "type" : "json" } {code} And queried by {code} selector: {"tags": {$elemMatch: {name: "movies"}} {/code} In the case above the indexer should be smart enough to use the `tags.[].name` index. > 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.15#6346)