@mortify

Как реализовать такую структуру nosql, mongodb, mongoid?

Всем привет. Набросал такую схему БД
{ 
 {
   "className": String,
   "classMethods": [{
       "methodName": String,
       "description": String,
       "exampleCode": String,
       "sourceCode" : String
     },
     {
       "methodName": String,
       "description": String,
       "exampleCode": String,
       "sourceCode" : String
     }]
 },
 {
   "anotherClassName": String,
   "anotherClassMethods": [{
         "methodName": String,
         "description": String,
         "exampleCode": String,
         "sourceCode" : String
       },
       {
         "methodName": String,
         "description": String,
         "exampleCode": String,
         "sourceCode" : String
       }]
 }
}

но совсем не понимаю, как её реализовать на mongoid, что-бы это ещё и красиво смотрелось с точки зрения ооп.

была мысль сделать как-то так

class MyClass
    include Mongoid::Document
    field :name, type: String
    field :methods, type: Array
  end

но думаю, что не так это должно работать. Да и доступ к данным в массиве тогда будет проблематичен.
Помогите пожалуйста, как выйти из такой ситуации?
  • Вопрос задан
  • 234 просмотра
Решения вопроса 1
@mortify Автор вопроса
Если кому-то когда то понадобится ответ на подобный вопрос:

class DataClass #class or module
  include Mongoid::Document
  store_in collection: "ruby"
  embeds_many :data_methods
  field :class_name, type: String
end

class DataMethod
  include Mongoid::Document
  embedded_in :data_class
  field :method_name, type: String
  field :description, type: String
  #field :example_code, type: String
  #field :source_code, type: String
end
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы