У меня есть следующий документ на монго:
{ _id: 'someid', name: 'John Doe', address: { city: 'Osaka', country: 'Japan' } }
Как мне индексировать по городу и стране?
Из документации MongoDB :
Индексирование по встроенным полям Вы можете создавать индексы для полей, встроенных во вложенные документытак же, как вы можете индексировать поля верхнего уровня в документах.[...] Вместо этого индексы во встроенных полях позволяют использовать «точечную нотацию» для интроспекции в поддокументы. [...] db.people.ensureIndex( { "address.zipcode": 1 } )
Индексирование по встроенным полям
Вы можете создавать индексы для полей, встроенных во вложенные документытак же, как вы можете индексировать поля верхнего уровня в документах.[...] Вместо этого индексы во встроенных полях позволяют использовать «точечную нотацию» для интроспекции в поддокументы.
[...]
db.people.ensureIndex( { "address.zipcode": 1 } )
Mongoid использует те же Точечные обозначения :
Вы также можете определять индексы для встроенных полей документа. class Person include Mongoid::Document embeds_many :addresses index "addresses.street" end
Вы также можете определять индексы для встроенных полей документа.
class Person include Mongoid::Document embeds_many :addresses index "addresses.street" end
Итак, вы хотите что-токак это:
class C include Mongoid::Document index 'address.city' index 'address.country' #... end