MongoDB find命令匹配数据,匹配内容和检索条件不一致

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27378621/article/details/84640645

最后一位随便输一个数,就匹配这一条。

问题描述:今天计划将tweet_id设置为集合的唯一索引,出现一条数据报错。报错对应的tweet_id为“255837612277911555”,在pymongo查找这条数据发现出现的结果和查询内容最后一位不一致。于是修改最后一位发现,改为其他数字仍然匹配该数据。

----------------------------------2018.12.03更新------------------------------------------------------------

根据文档(1)点击跳转 (2)英文文档地址的说明,初步判断是因为MongoDB长整型和整型数据检索的区别:

即需要使用find({'tweet_id':NumberLong("255837612277911552")})

附:统一化某个字段数据类型可参见:点击这里

示例:

db.getCollection('total_user_20181119').find({'id':{$type:16}}).forEach(function(x){
    x.id = NumberLong(x.id);
    db.getCollection('total_user_20181119').save(x)})

猜你喜欢

转载自blog.csdn.net/qq_27378621/article/details/84640645