我有一个模型“条目”,其中包含许多作为嵌入文档的项目“项目”:
class Entry
embeds_many :items, cascade_callbacks: true
...
end
问题是我必须移动一堆嵌入式文档项目,以删除一些、添加其他项目以及在条目之间移动其他项目。似乎我在 Entry.items 上执行的任何操作都像:
entry.items << item or entry.items.delete(i)
导致它自己的数据库写入。如果我做了很多看起来非常昂贵的改变。有没有办法告诉 mongoid 让我添加项目、删除它们、在本地移动它们,并且只有在一切都完成后才发送一个 entry.save!写入数据库?