suchen

Heim  >  Fragen und Antworten  >  Hauptteil

mongodb - 这是 $mod query 的bug吗?不能使用超过11位的除数?

我采集了一个行政区划的数据,使用如下命令查询省一级的数据
db.collection.find({'_id':{$mod: [10000000000,0]}})
没有任何返回数据
正常需要返回如下数据

{
    "_id" : NumberLong("110000000000"),
    "name" : "北京市"
},

/* 2 */
{
    "_id" : NumberLong("120000000000"),
    "name" : "天津市"
},

/* 3 */
{
    "_id" : NumberLong("130000000000"),
    "name" : "河北省"
},
...

我去掉一个0后能使用10位的除数能返回数据,但不是我的需求。
这是否是$mod的bug?
官方文档中没有相关的说明。

大家讲道理大家讲道理2793 Tage vor572

Antworte allen(1)Ich werde antworten

  • ringa_lee

    ringa_lee2017-05-02 09:26:54

    我试验了一下,目前是:

    1、mongo shell下,与你描述的情形一样;

    2、mongodb driver 2.2.24下,与你描述的情形一样;

     error: null
     result: undefined
    

    3、mongoose driver 4.7.9,

      error : Can't use $mod with ObjectId.
    

    建议访问:https://jira.mongodb.org/secu... ;并提交一个issue跟踪一下。

    供参考。

    Love MongoDB! Have Fun!

    ------------------------华丽的分割符--------------------------------

    MongoDB中文社区线下活动缤纷,请猛戳下方:

    2017华山论剑|MongoDB中文社区

    三月份杭州站在即!!! 感兴趣的朋友火速报名!!!

    Antwort
    0
  • StornierenAntwort