使用 2dsphere 索引和 IP 地址索引索引 mongodb 集合
Posted
技术标签:
【中文标题】使用 2dsphere 索引和 IP 地址索引索引 mongodb 集合【英文标题】:Indexing mongodb collection with 2dsphere indexes and IP address indexes 【发布时间】:2013-06-27 16:46:19 【问题描述】:我是 MongoDB 新手,想创建一个数据库,其中存储在集合中的位置数据(经纬度)。我计划创建 GeoJSON 对象来存储这些数据。 我想知道是否可以在此集合上创建 2 个索引,其中一个是 2Dsphere 索引,另一个索引可以是任何其他值,例如在同一集合中唯一的 IP 地址? 如果这是可能的,我该如何创建这些索引?
【问题讨论】:
我已经创建了一个集合并想要索引它,但不知道如何去做。 db.collection.ensureIndex(这应该可行:
db.position.ensureIndex("geoField.coordinates":"2dsphere","ipaddress":1)
看看this article
希望对你有帮助
【讨论】:
谢谢 Antonio 在这种情况下,文档对象将如下所示,对吧?如果我错了,请纠正我 geoField: type:Point coordinates:[lat, long] ipaddress: 122.0.0.7 connection: wi-fi 好吧,如果您的文档是这样的:"geoField":"type":"Point","coordinates":[lat,long],"ipaddress":"122.0.0.7","connection":"wi-fi"
... 那么您创建索引的语句将如下所示:db.collection.ensureIndex("geoField.coordinates":"2dsphere","ipaddress":1)
如果 ensureIndex 格式不是:db.position.ensureIndex("geoField":"2dsphere","ipaddress":1)
是的,这是复合索引的正确语法。答案已编辑。谢谢。以上是关于使用 2dsphere 索引和 IP 地址索引索引 mongodb 集合的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB 2dsphere 索引失败(几何形状错误?)