2016-07-13 8 views
0

ich eine Datenbank mit Struktur wie diese:

{ 
    "_id" : ObjectId("5785663bda7b71a0c5601c89"), 
    "visible" : true, 
    "created" : { 
     "changeset" : "29670315", 
     "user" : "samit_53", 
     "version" : "1", 
     "uid" : "2297171", 
     "timestamp" : "2015-03-23T03:59:14Z" 
    }, 
    "type" : "node", 
    "id" : "3413812873", 
    "pos" : [ 
     22.1173487, 
     88.0034742 
    ] 
} 

Jetzt habe ich '2d' Index auf po

>>db.kol_sample.getIndexes() 
[ 
    { 
     "v" : 1, 
     "key" : { 
      "_id" : 1 
     }, 
     "ns" : "project_sample.kol_sample", 
     "name" : "_id_" 
    }, 
    { 
     "v" : 1, 
     "key" : { 
      "pos" : "2d" 
     }, 
     "ns" : "project_sample.kol_sample", 
     "name" : "pos_2d" 
    } 
] 

Wenn ich jetzt mit Abfrage nur die $ in der Nähe von I 100 Ergebnisse

db.kol_sample.findOne({"pos":{$near:[22,88]}}) 
{ 
    "_id" : ObjectId("5785663bda7b71a0c5601c89"), 
    "visible" : true, 
    "created" : { 
     "changeset" : "29670315", 
     "user" : "samit_53", 
     "version" : "1", 
     "uid" : "2297171", 
     "timestamp" : "2015-03-23T03:59:14Z" 
    }, 
    "type" : "node", 
    "id" : "3413812873", 
    "pos" : [ 
     22.1173487, 
     88.0034742 
    ] 
} 

bekommen Aber nachdem ich die $ maxDistance param egal zu welcher Entfernung hinzufügen gebe ich es immer wieder n

ull
db.kol_sample.findOne({"pos":{$near:[22.1173487,88.0034742]},$maxDistance:100}) 
null 

MongoDB Shell-Version: 2.4.9 32bit

Antwort

0

ich eine falsche Syntax wurde mit, wo ich den pos

Wrong geben $ maxDistance im Wörterbuch passieren

db.kol_sample.find({"pos":{$near:[22.1173487,88.0034742]},$maxDistance:100}) 

Korrekt

db.kol_sample.find({pos:{$near:[22.1173487,88.0034742],$maxDistance:1/111.2}})