mongodb - 这是 $mod query 的bug吗?不能使用超过11位的除数?
大家讲道理
大家讲道理 2017-05-02 09:24:54
0
1
559

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板