2013-02-28 2 views
3

Я хочу хранить данные в этом формате.Multikey индексирование в рельсах mongoid

{ 
"_id": ObjectId(...) 
"title": "Grocery Quality" 
"comments": [ 
    { author_id: ObjectId(...) 
     date: Date(...) 
     text: "Please expand the cheddar selection." }, 
    { author_id: ObjectId(...) 
     date: Date(...) 
     text: "Please expand the mustard selection." }, 
    { author_id: ObjectId(...) 
     date: Date(...) 
     text: "Please expand the olive selection." } 
] 
} 

Я смущен относительно того, как достичь этого формата для моих данных.

Я использую мангоид; поддерживает ли Mongoid Multikey Indexing?

Как использовать мангоид для достижения желаемого формата и поведения?

+0

I сталкивается с такой же проблемой. –

+2

На что вы хотите создать индекс? – rubish

+1

@gami Вопрос в том, что нужно искать Я запутался, как создать встраиваемый документ или как создать многоиндексирующий Mongoid, не поддерживает multikey, индексируя его что-то MONGODB сделает – Viren

ответ

1

Я не уверен, правильно ли получил ваше сомнение, но поскольку я не могу комментировать, я сразу отвечаю. Если это не так, как вы просили, пожалуйста, объясните немного больше =)

У вас есть модель с теми полями, которые вы написали раньше, я назову это модель Post. Для комментариев на это, я хотел бы предложить вам создать другую модель callend комментарий и вставить его на сообщение модели:

class Post 
    field: title 
    embeds_many :comments 
end 

class Comment 
    field :date 
    field :text 
    has_one :author 
    embedded_in :post 
end 

И индексировать комментарии на модели Post вы можете сделать:

index({ :"comments.updated_at" => 1 }) 
Смежные вопросы