如何在Mongoid中为子类设置集合名称?

B S*_*ven 7 ruby mongodb mongoid

class Foo
  include Mongoid::Document
end

class Bar < Foo
end
Run Code Online (Sandbox Code Playgroud)

Foo.all返回Bars,Bar.all返回Foos.

我想把Foo和Bar放在不同的集合中.

我试过了

class Bar < Foo
  store_in collection: 'bars'
Run Code Online (Sandbox Code Playgroud)

但得到了

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
Run Code Online (Sandbox Code Playgroud)

使用Mongoid 4.0.2

Rob*_*ner 11

你也需要制作Bar一份Mongoid文件.

class Bar < Foo
  include Mongoid::Document
  store_in collection: 'bars'
Run Code Online (Sandbox Code Playgroud)