Đơn giản là nó sai,
"để tận dụng các chỉ mục không gian trong Mongo, bạn cần một bộ sưu tập được lập chỉ mục không gian, không có gì ngoài bản ghi cho mỗi điểm của đa giác, với một giá trị bổ sung cho ID hồ sơ của bản ghi không gian của bạn sống trong một bộ sưu tập khác, sau đó sử dụng một truy vấn hộp giới hạn để nhận ID hồ sơ từ một [bộ sưu tập] và chọn [dữ liệu bản ghi] từ [bộ sưu tập] khác, mô phỏng hiệu quả một liên kết. "
Tôi có dữ liệu điểm USGS được lưu trữ trong một bộ sưu tập Mongo với các bản ghi trông như thế này:
> 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" }
Tôi có thể thực hiện các truy vấn hộp giới hạn trên dữ liệu này trả về toàn bộ bản ghi (mà không cần bộ sưu tập khác) tốt.
Truy vấn:
> 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);
Phản ứng:
{ "_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 cũng cung cấp khả năng thực hiện các tìm kiếm hàng xóm gần nhất, cũng như chỉ ra các tìm kiếm đa giác. Điều này cũng được ghi nhận tại mongodb.org