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

时间:2015-08-18 05:43:34

标签: mongodb mlab

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

{
    "_id": {
        "$oid": "55d21e12dc00c4a4eb57e78d"
    },
    "start_lat": "22.788186",
    "start_lng": "86.159255",
    "end_lat": "22.8420794",
    "end_lng": "86.05532659999994"
}

当我尝试使用"start_lat"查询db.steplist.find({start_lat: {$lte:"14"}})小于值“14”的文档时,它会返回如下文档:

{ 
    "_id" : ObjectId("55d21e2adc00c4a4eb57e862"),
    "start_lat" : "13.615239",
    "start_lng" : "79.5065763",
    "end_lat" : "13.3591181",
    "end_lng" : "79.08415630000002",
}
....
...
..
.

但是当我尝试使用db.steplist.find({start_lat: {$lte:"9"}})搜索小于“9”的文档时,它会返回如下文档:

{
    "_id" : ObjectId("55d21e14dc00c4a4eb57e79e"),
    "start_lat" : "27.2241643",
    "start_lng" : "78.11668220000001",
    "end_lat" : "28.4484536",
    "end_lng" : "77.49778100000003"
}

为什么我在这种情况下会收到错误的文件?

注意:

  1. 在集合中有“start_lat”的值从7到35不等。
  2. 此外,当我搜索db.steplist.find({start_lat: {$lte:"10"}})时,不会返回任何文件。
  3. MongoDb托管于MongoLab

0 个答案:

没有答案