class Foo
include Mongoid::Document
end
class Bar < Foo
end
字符串
Foo.all返回Bars,Bar.all返回Foos。
我想把Foo和Bar放在不同的集合中。
我试
class Bar < Foo
store_in collection: 'bars'
型
但得到
Mongoid::Errors::InvalidStorageParent:
Problem:
Invalid store_in call on class Bar.
Summary:
The :store_in macro can only be called on a base Mongoid Document
型
使用Mongoid 4.0.2
2条答案
按热度按时间2admgd591#
您还需要将
Bar
设置为Mongoid
文档。字符串
mbskvtky2#
这个问题现在已经很老了,但Mongoid现在支持它。
以前,您必须使用所有公共逻辑创建一个模块,并将它们包含在两个模型类中。
从Mongoid v8.1开始,您可以使用
store_in collection: "collection_name
来完成此操作。字符串
这将在2个不同的集合(形状和圆圈)中创建文档。
参考网址:https://www.mongodb.com/docs/mongoid/current/reference/inheritance/#persistence-contexts