mongodb - 這是 $mod query 的bug嗎?不能使用超過11位的除數?
大家讲道理
大家讲道理 2017-05-02 09:24:54
0
1
542

我收集了一個行政區劃的數據,使用以下命令查詢省一級的數據
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?
官方文件中沒有相關的說明。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(1)
左手右手慢动作

我試驗了一下,目前是:

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

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板