模块:Mongoid::Equality

扩展方式:
ActiveSupport::Concern
包含在:
可组合
定义于:
lib/mongoid/equality.rb

Overview

该模块包含 Mongoid 的文档克隆/复制行为。

在命名空间下定义

模块: 类方法

实例方法摘要折叠

实例方法详细信息

# <=> (other) ⇒整数

默认通过string 的ID 版本进行比较。

例子:

比较两个文档。

person <=> other_person

参数:

  • 其他 (文档)

    要比较的文档。

返回:

  • ( Integer )

    -1, 0, 1.



20
21
22
23
# File 'lib/mongoid/equality.rb', 第20行

def <=>(其他)
  return  除非 其他.is_a?(Mongoid::相等)
  属性[" _id "].to_s <=> 其他.属性[" _id "].to_s
end

# == (other) ⇒ true | false

对文档ID 执行相等性检查。 要进行更强大的相等性检查,请重写此方法。

例子:

比较是否相等。

document == other

参数:

  • 其他 (文档| 对象)

    要比较的另一个对象。

返回:

  • ( true | false )

    如果 id 相等,则为 true,否则为 false。



34
35
36
37
# File 'lib/mongoid/equality.rb', 第34行

def ==(其他)
  self.class == 其他.class &&
      属性[" _id "] == 其他.属性[" _id "]
end

# eql? (其他)→ true | false

委托给 ==。 在需要检查哈希值时使用。

例子:

执行相等性检查。

document.eql?(other)

参数:

  • 其他 (文档| 对象)

    要检查的对象。

返回:

  • ( true | false )

    如果相等则为 True,否则为 false。



47
48
49
# File 'lib/mongoid/equality.rb', 第47行

def eql?(其他)
  self == (其他)
end