mongo db indexes on embedded documents

assaf_miz84 picture assaf_miz84 · Sep 10, 2012 · Viewed 9.2k times · Source

I have a domain object model as below...

@document
Profile
{
     **social profile list:**
      SocialProfile
      {     
          **Interest list:**
          {
           Interest
            {
                 id
                 type
                 value
            }
            ...
       }
       ...
}

Each profile can have many social profiles, in each social profile there are many interests related to the profile via the specific social profile ( social profile represent social network like Facebook), each interest is also embedded document with the fields id , type , value.

So I have two questions.. can I index few fields separately in the embedded document interest? can I create compound index in the embedded document interest?

I guess the complexity in my model is the deep level of the embedded document which is 2.. and that the path to that document is via arrays...

can it be done in spring way via metadata annotations? if you think my model is wrong please let me know I am a newbie on mongo Thanks

Answer

Bob Grabar picture Bob Grabar · Sep 10, 2012

You can index separately on the fields in an embedded document.

You can also create a compound index on the fields, so long as no more than one field is an array.

These might offer more answers:

http://www.mongodb.org/display/DOCS/Indexes#Indexes-CompoundKeys

http://www.mongodb.org/display/DOCS/Multikeys