2012-08-16 141 views
0

我目前收集了一些小文件。每个文档都有一个已编制索引的geospacial字段,并且*默认的_id不会在任何查询中使用*。永远不会有多个文件与特定的地理位置相关。我认为重写默认的_id是有意义的,并以某种方式使用地理空间数据。Mongodb - geospacial _id?

问题是,你如何使用地理空间数据作为唯一的ID?这是从地理区域创建一个扁平字符串的情况吗?例如。 'x123456y123456'?

回答

2

_id字段是每个文档的唯一标识符,因此是必填字段。 _id字段在文档创建时自动生成,如果没有提供。如果您可以在创建文档时提供此geospaital值,则应该能够按照您的建议使用该字符串,但不能将数组用作_id值。但请注意,一旦创建了文档,_id就不可更改。这意味着使用_id字段作为地理空间数据的有意义的索引可能没有多大价值。

有在_id领域有关蒙戈创建地理空间索引

+0

由于一些信息的详细信息,并here一看here,我读过这两个文件的,但我没有看到上存储任何地理数据在id中。可能字符串是要走的路。就我而言,地理数据永远不会因特定文件而改变。 – UpTheCreek 2012-08-16 08:13:17

+0

@UpTheCreek:您是否尝试使用MongoDB的[地理空间索引](http://www.mongodb.org/display/DOCS/Geospatial+Indexing/)功能..或者只是在应用程序中存储字符串值进行操作? – Stennie 2012-08-16 08:23:36