$mod

语法

  1. { <字段名>: { $mod: <值> } }

说明

返回取模的结果。原始值为数组类型时对每个数组元素执行该操作,非数字类型返回 null 。

示例

在集合 foo.bar 插入1条记录:

  1. > db.foo.bar.insert( { "a": 13 } )

SequoiaDB shell 运行如下:

  • 作为选择符使用,返回字段“a”对10取模的结果:

    1. > db.foo.bar.find( {}, { "a": { "$mod": 10 } } )
    2. {
    3. "_id": {
    4. "$oid": "582568c42b4c38286d00001f"
    5. },
    6. "a": 3
    7. }
    8. Return 1 row(s).
  • 与匹配符配合使用,匹配字段“a”对10取模之后值为3的记录:

    1. > db.foo.bar.find( { "a": { "$mod": 10, "$et": 3 } } )
    2. {
    3. "_id": {
    4. "$oid": "582568c42b4c38286d00001f"
    5. },
    6. "a": 13
    7. }
    8. Return 1 row(s).

Note:
1. 不能对零取模。
2. 由于操作系统提供的浮点数(IEEE754浮点数标准)的特性,浮点数的模运算结果是不准确的,超出15位有效数字的浮点数的结果甚至会严重偏离准确值,所以不建议对浮点数进行模运算,尤其是对浮点数模运算的结果进行“==”和“!=”的判断。