2013-06-27 4 views
0

MongoDB를 처음 사용하며 컬렉션에 저장된 위치 데이터 (lat-long)를 사용하여 데이터베이스를 만들고 싶습니다. 이 데이터를 저장할 GeoJSON 객체를 만들 계획입니다. 이 컬렉션에 2 개의 인덱스를 만들 수 있는지 알고 싶습니다.이 인덱스 중 하나는 2Dsphere 인덱스이고 다른 인덱스는 동일한 컬렉션에서 고유 한 IP 주소와 같은 다른 값이 될 수 있습니까? 그리고 가능하다면 어떻게 이러한 인덱스를 만들 수 있습니까?2dsphere 인덱스 및 IP 주소 인덱스를 사용하여 mongodb 컬렉션 인덱싱

+0

하지만 그것을 할 방법을 잘 도움이되기를 바랍니다. db.collection.ensureIndex ( ....)를 사용하면 여러 필드에 인덱스를 만들 수 있지만 ipaddress 인덱스와 함께 2dsphere 인덱스가있는 인덱스를 만드는 방법을 알지 못합니다. – koustubhC

답변

0

이 작동합니다 :

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

this article

에서 봐 나는 그것이

내가 컬렉션을 생성하고 색인에 원하는 한
+0

고마워 안토니오 이 경우 문서 개체는 다음과 같을 것입니다. 만약 내가 잘못 이 날 수정 {{유형 : 포인트 좌표 : geoField는 [위도, 긴]} IPADDRESS : 122.0.0.7 연결 : 와이파이 } – koustubhC

+0

문서는 다음과 같이이다 음, 경우 "'{ geoField ": {"type ":"Point ","coordinates ": [lat, long]},"ipaddress ":"122.0.0.7 ","connection ":"wi-fi "}' 'db.collection.ensureIndex ({ "geoField.coordinates": "2dsphere"}, { "ipaddress": 1})' – AntonioOtero

+0

ensureIndex 형식은 다음과 같지 않아야합니다 : db.position.ensureIndex ({ "geoField": "2dsphere", "ipaddress": 1}) – Alex