通过mongoid查找没有_type的记录 - 单表继承

时间:2014-03-20 16:54:58

标签: ruby-on-rails ruby mongodb mongoid

我使用Ruby gem mongoid并且想要查找不是从任何东西继承的记录。

所以有2个型号。基类Product和从Product继承的Product :: Translation类。

如何查找未从任何内容继承并且没有_type字段的纯产品记录。

我尝试过这些查询但不起作用:

  • Product.where(:_ type.exists => false)
  • Product.exists(_type:false)
  • Product.where(_type:nil)
  • Product.exists(_type:false)

1 个答案:

答案 0 :(得分:1)

当我们进行继承时,Mongoid非常聪明,可以应用默认的_type,即使对于基类也是如此。所以,

Product.where(_type: "Product") # will return all documents of type Product.