2013-06-27 68 views
0

我是MongoDB的新手,希望创建一个数据库,其中包含存储在集合中的位置数据(lat-long)。我计划创建GeoJSON对象来存储这些数据。 我想知道是否可以在这个集合上创建2个索引,其中一个是2Dsphere索引,另一个索引可以是任何其他值,如同一个集合中唯一的IP地址。 如果这是可能的,我该如何创建这些索引?使用2dsphere索引和IP地址索引对mongodb集合进行索引

+0

我创建了一个集合,并希望建立索引,但不知道如何做到这一点。 db.collection.ensureIndex( ....)将允许我在多个字段上创建索引,但我不知道如何创建具有2dsphere索引以及ipaddress索引的索引。 – koustubhC

回答

0

这应该工作:

db.position.ensureIndex({"geoField.coordinates":"2dsphere","ipaddress":1}) 

this article

看看我希望它能帮助

+0

谢谢安东尼奥 在这种情况下,文档对象将如下权利?纠正我,如果我错了 {geoField:{类型:点 坐标:[纬度,经度]} ip地址:122.0.0.7 连接:无线网络 } – koustubhC

+0

好了,如果你的文件是这样的:'{” geoField“:{”type“:”Point“,”coordinates“:[lat,long]},”ipaddress“:”122.0.0.7“,”connection“:”wi-fi“}'... then your statement创建索引将如下所示:'db.collection.ensureIndex({“geoField.coordinates”:“2dsphere”},{“ipaddress”:1})' – AntonioOtero

+0

如果ensureIndex格式不是:db.position.ensureIndex ({“geoField”:“2dsphere”,“ipaddress”:1}) – Alex