I have a mongoid document which embeds other documents with a relation like
this:
embeds_many :blocks
Creating new blocks works fine, but I cannot manage to change the
order of existing embedded documents. For example I have three
embedded blocks and I want to move the last one to the first
position.What’s the correct way to do that?
I had to deal with this with mongoid’s recursively_embeds_many feature, but it’s essentially the same. There’s nothing wrong as far as I can tell with literally rewriting the document. Write a model method to do something like:
That’s not great code above, but it gives you an idea of how to do what you want to do. I’m not thrilled with having to go through that just to reorder stuff in an array, but there it is.