mongodb在条件查询中的突然行为

mongodb在条件查询中的突然行为,mongodb,mlab,Mongodb,Mlab,我的收藏steplist包含以下文档: { "_id": { "$oid": "55d21e12dc00c4a4eb57e78d" }, "start_lat": "22.788186", "start_lng": "86.159255", "end_lat": "22.8420794", "end_lng": "86.05532659999994" } 当我尝试使用db.steplist.find({start\u lat:{$

我的收藏
steplist
包含以下文档:

{
    "_id": {
        "$oid": "55d21e12dc00c4a4eb57e78d"
    },
    "start_lat": "22.788186",
    "start_lng": "86.159255",
    "end_lat": "22.8420794",
    "end_lng": "86.05532659999994"
}
当我尝试使用
db.steplist.find({start\u lat:{$lte:{$lte:“14”}})
查询
“start\u lat”
小于值“14”的文档时,它返回如下文档:

{ 
    "_id" : ObjectId("55d21e2adc00c4a4eb57e862"),
    "start_lat" : "13.615239",
    "start_lng" : "79.5065763",
    "end_lat" : "13.3591181",
    "end_lng" : "79.08415630000002",
}
....
...
..
.
{
    "_id" : ObjectId("55d21e14dc00c4a4eb57e79e"),
    "start_lat" : "27.2241643",
    "start_lng" : "78.11668220000001",
    "end_lat" : "28.4484536",
    "end_lng" : "77.49778100000003"
}
但是,当我尝试使用
db.steplist.find({start\u lat:{$lte:{9}}})
搜索值小于“9”的文档时,它会返回如下文档:

{ 
    "_id" : ObjectId("55d21e2adc00c4a4eb57e862"),
    "start_lat" : "13.615239",
    "start_lng" : "79.5065763",
    "end_lat" : "13.3591181",
    "end_lng" : "79.08415630000002",
}
....
...
..
.
{
    "_id" : ObjectId("55d21e14dc00c4a4eb57e79e"),
    "start_lat" : "27.2241643",
    "start_lng" : "78.11668220000001",
    "end_lat" : "28.4484536",
    "end_lng" : "77.49778100000003"
}
为什么在这种情况下我会得到错误的文件

注:

  • 集合中有“start_lat”值范围从7到35的文档
  • 另外,当我搜索
    db.steplist.find({start\u lat:{$lte:{10}}})
    时,不会返回任何文档
  • MongoDb托管在MongoLab上

  • 将数据类型
    start\u lat、start\u lng、end\u lat、end\u lng
    更改为
    number
    float
    当前均为字符串。已在数字上工作将数据类型
    start\u lat、start\u lng、end\u lat、end\u lng
    更改为
    number
    float
    当前都是字符串。在数字上工作