NoBrainerORM / nobrainer

Ruby ORM for RethinkDB
http://nobrainer.io/
Other
387 stars 49 forks source link

Declare nested fields #258

Open sayuj opened 4 years ago

sayuj commented 4 years ago

I have a document like:

{
  "first_name": "First Name",
  "last_name": "Last Name",
  "birth": {
    "place": "Place of birth",
    "date": "Date of birth"
  }
}

I would like to declare the field birth["date"] as Date type. How can I do that?

zedtux commented 4 years ago

Nobrainer is not supporting this use case. From the roadmap:

Support embedded documents. Embedding should be done by using the type system like regular fields.

You can declare the birth field as a Hash but you can't control the data type within the hash.

There is another way of doing it, which is of using a Birth model and adding a has_one :birth to your current model. Then the Birth model can describe the fields and their types.

Hope this help :)

sayuj commented 4 years ago

@zedtux Thank you for your response.

Multiple documents would not be a perfect fit. I'm glad the use cases there on the roadmap.