You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by "Tony Sun (JIRA)" <ji...@apache.org> on 2015/11/03 18:05:27 UTC
[jira] [Commented] (COUCHDB-2867) Mango: should be able to index
*within* arrays
[ 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)