1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// SERVER-848 and SERVER-1191.
db.places.drop()
n = 0;
db.places.save({ "_id": n++, "loc" : { "x" : 4.9999, "y" : 52 } })
db.places.save({ "_id": n++, "loc" : { "x" : 5, "y" : 52 } })
db.places.save({ "_id": n++, "loc" : { "x" : 5.0001, "y" : 52 } })
db.places.save({ "_id": n++, "loc" : { "x" : 5, "y" : 52.0001 } })
db.places.save({ "_id": n++, "loc" : { "x" : 5, "y" : 51.9999 } })
db.places.save({ "_id": n++, "loc" : { "x" : 4.9999, "y" : 52.0001 } })
db.places.save({ "_id": n++, "loc" : { "x" : 5.0001, "y" : 52.0001 } })
db.places.save({ "_id": n++, "loc" : { "x" : 4.9999, "y" : 51.9999 } })
db.places.save({ "_id": n++, "loc" : { "x" : 5.0001, "y" : 51.9999 } })
db.places.ensureIndex( { loc : "2d" } )
radius=0.0001
center=[5,52]
//print(db.places.find({"loc" : {"$within" : {"$center" : [center, radius]}}}).count())
// FIXME: we want an assert, e.g., that there be 5 answers in the find().
db.places.find({"loc" : {"$within" : {"$center" : [center, radius]}}}).forEach(printjson);
// the result:
// { "_id" : ObjectId("4bb1f2f088df513435bcb4e1"), "loc" : { "x" : 5, "y" : 52 } }
// { "_id" : ObjectId("4bb1f54383459c40223a8ae7"), "loc" : { "x" : 5, "y" : 51.9999 } }
// { "_id" : ObjectId("4bb1f54583459c40223a8aeb"), "loc" : { "x" : 5.0001, "y" : 51.9999 } }
// { "_id" : ObjectId("4bb1f2e588df513435bcb4e0"), "loc" : { "x" : 4.9999, "y" : 52 } }
// { "_id" : ObjectId("4bb1f30888df513435bcb4e2"), "loc" : { "x" : 5.0001, "y" : 52 } }
// { "_id" : ObjectId("4bb1f54383459c40223a8ae8"), "loc" : { "x" : 4.9999, "y" : 52.0001 } }
|