Многоклавишная индексация в rails 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 многоключевое индексирование?

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


person Community    schedule 28.02.2013    source источник
comment
Я сталкиваюсь с той же проблемой.   -  person Ganesh Kunwar    schedule 28.02.2013
comment
Для чего вы хотите создать индекс?   -  person rubish    schedule 28.02.2013
comment
@gami Какой вопрос на самом деле ищу, я не понимаю, как создать документ для встраивания или как создать мультииндексацию Mongoid не поддерживает индексацию с несколькими ключами, это то, что сделал бы MONGODB   -  person Viren    schedule 01.03.2013
comment
@Viran, тогда как настроить такую ​​​​коллекцию баз данных с помощью mongoid?   -  person Ganesh Kunwar    schedule 02.03.2013
comment
@Ganeshkunwar Я думал, что вопрос был от Гами, какое поле вы хотите проиндексировать, поскольку сама ОП не указала эту деталь, и это зло   -  person Viren    schedule 03.03.2013
comment
@Viran, я столкнулся с той же проблемой, но пока не нашел решения.   -  person Ganesh Kunwar    schedule 04.03.2013


Ответы (1)


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

У вас есть ваша модель с теми полями, которые вы написали ранее, я назову ее Post model. Для комментариев к нему я бы предложил вам создать еще одну модель с вызовом Comment и встроить ее в модель 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 })
person yogodoshi    schedule 22.03.2013