搜尋

首頁  >  問答  >  主體

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?
官方文件中沒有相關的說明。

大家讲道理大家讲道理2754 天前544

全部回覆(1)我來回復

  • 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中文社群

    三月杭州站在即! ! ! 有興趣的朋友火速報名! ! !

    回覆
    0
  • 取消回覆