Многоключевая индексация в рельсах монгоид
Я хочу хранить данные в этом формате.
{
"_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 поддерживает индексирование нескольких клавиш?
Как можно использовать Mongoid для достижения желаемого формата и поведения?
1 ответ
Я не уверен, правильно ли я понял ваши сомнения, но поскольку я не могу комментировать, я отвечаю сразу. Если это не то, что вы просили, пожалуйста, объясните немного больше =)
У вас есть ваша модель с теми полями, которые вы написали ранее, я назову это Пост модель. Для комментариев к нему я бы предложил вам создать еще один комментарий к модели и добавить его в модель Post:
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 })