Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mongo db indexes on embedded documents

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

like image 784
assaf_miz84 Avatar asked Sep 10 '12 18:09

assaf_miz84


1 Answers

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

like image 135
Bob Grabar Avatar answered Oct 14 '22 03:10

Bob Grabar