Bu sadece doğru değil,
"Mongo’daki uzamsal endekslerden yararlanmak için, poligonun her bir noktası için bir kayıttan başka hiçbir şey tutan mekansal olarak indekslenmiş bir koleksiyona ihtiyacınız olacak, başka bir koleksiyonda yaşayan mekansal kaydınızın kayıt kimliği için ek bir değere sahip olacaksınız. bir [koleksiyon] 'dan kayıt kimliklerini almak için sınırlayıcı kutu sorgusu ve diğer bir [koleksiyon]' dan [kayıt verisi] 'ni seçmek, etkin bir şekilde birleştirmek öykünmek. "
Tek bir Mongo koleksiyonunda saklanan USGS nokta verisine sahibim.
> db.names.find({FEATURE_NAME: 'Mount Saint Helens', STATE_ALPHA: 'WA'})
{ "_id" : ObjectId("4e262106d7a99b7db41a4919"),
"_ID" : 1525360,
"FEATURE_NAME" : "Mount Saint Helens",
"FEATURE_CLASS" : "Summit",
"STATE_ALPHA" : "WA",
"STATE_FIPS" : 53,
"COUNTY_NAME" : "Skamania",
"COUNTY_FIPS" : "059",
"COORDS" : [ -122.1944, 46.1912 ],
"ELEV_IN_FT" : "8356" }
Kaydı kutu sorguları yapabiliyorum, bu veriler üzerinde kaydın tamamını döndüren (başka bir koleksiyona gerek kalmadan) gayet iyi.
Sorgu:
> box = [[-126.562500,45.089036], [-123.750000,47.040182]]
[ [ -126.5625, 45.089036 ], [ -123.75, 47.040182 ] ]
> db.names.find({"COORDS" : {"$within" : {"$box" : box}}, FEATURE_CLASS: "Summit"}, {FEATURE_NAME: true, COUNTY_NAME: true, STATE_ALPHA: true, ELEV_IN_FEET: true}).limit(5);
Tepki:
{ "_id" : ObjectId("4e2620f8d7a99b7db4146cec"), "FEATURE_NAME" : "Harlocker Hill", "STATE_ALPHA" : "OR", "COUNTY_NAME" : "Coos" }
{ "_id" : ObjectId("4e2620f8d7a99b7db414a349"), "FEATURE_NAME" : "Neskowin Crest", "STATE_ALPHA" : "OR", "COUNTY_NAME" : "Tillamook" }
{ "_id" : ObjectId("4e2620f8d7a99b7db414a105"), "FEATURE_NAME" : "Miles Mountain", "STATE_ALPHA" : "OR", "COUNTY_NAME" : "Tillamook" }
{ "_id" : ObjectId("4e2620f8d7a99b7db414934a"), "FEATURE_NAME" : "Mount Gauldy", "STATE_ALPHA" : "OR", "COUNTY_NAME" : "Tillamook" }
{ "_id" : ObjectId("4e2620f8d7a99b7db4149d06"), "FEATURE_NAME" : "Little Hebo", "STATE_ALPHA" : "OR", "COUNTY_NAME" : "Yamhill" }
Mongo ayrıca en yakın komşu aramaların yanı sıra çokgen aramalarını da yapma yeteneği sağlar. Bu iyi mongodb.org de belgelenmiştir