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

浏览:45日期:2023-06-17

问题描述

我采集了一个行政区划的数据,使用如下命令查询省一级的数据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中文社区

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

相关文章: