问题描述
我采集了一个行政区划的数据,使用如下命令查询省一级的数据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中文社区
三月份杭州站在即!!! 感兴趣的朋友火速报名!!!