몽고db를 교묘하게 이용하여 지리 공간 조회를 하다

2010 단어 mongodb지리조회
MongoDB는 분산 파일 저장소를 기반으로 하는 데이터베이스입니다.C++ 언어로 작성됩니다.WEB 애플리케이션을 위한 확장형 고성능 데이터 스토리지 솔루션입니다.
모바일 개발에서 포지셔닝 기능을 자주 사용한다. 예를 들어 미단, 배고프냐, 고양이 눈 영화 등 앱은 모두 모바일 포지셔닝을 사용하고 자신의 지리적 위치 부근의 서비스, 정보를 찾아낸다.
지리적 위치 인덱스는 MongoDB가 사용자에게 이미 알려진 특성으로 그 구면(Spherical)과 평면(Flat) 두 가지 모델로 풍부한 주소 위치 표시 방식을 제공한다. 예를 들어 2d, 2dsphere와 GeoJSON 등이다. 모바일 앱, 예를 들어 지도 소프트웨어, 택시 소프트웨어, 배달 소프트웨어, MongoDB의 강력한 지리적 위치 인덱스 기능은 이를 가장 잘 선택한다.그 밖에 사물인터넷, 스마트 도시 등 분야에도 대량의 지리적 위치 관련 조작이 필요하다. 이것은 모두 MongoDB의 경기장이다.
이 글은 Mongodb를 데이터베이스로 하여 데이터베이스 등급에서 어떻게 포지셔닝 조회를 하는지 설명할 것이다.
예를 들어 우리는 앱을 만들어야 한다. 업체는 자신의 상품을 앱에 발표할 수 있고 사용자는 앱을 열어 자신이 가까운 상품에서 먼 곳까지 볼 수 있다.
만약 지리적 위치의 수요가 없다면 하기 쉽다. 직접 창고를 꽂고 창고를 조사하면 ok가 되지만 지리적 위치를 사용한다면 Mongodb의 일부 위치 기능을 사용해야 한다.
Mongodb는 지리적 공간 인덱스가 있는데 이를 이용하여 경위도를 계산할 수 있다. 다음은 이 기능을 어떻게 사용하는지 계속 소개한다.
다음은 Nodejs+mongose를 예로 들어볼게요.
1. Schema 만들기:

  const mongoose = require( 'mongoose' );
  let goodsSchema = new mongoose.Schema( {
   name: String,
   price: Number,
   location: {
     type: [ Number ],
     index: {
       type: '2dsphere',
       sparse: true
     }
   }
  }, {
   collection: 'Goods'
  } )
2. 모델 만들기
    let goodsModel = mongoose.model(‘Goods', goodsSchema)3. 데이터 삽입
다음 데이터 형식에 따라 데이터베이스에 데이터를 삽입합니다.

  {
   "name":" ",
   "price":12,
   "location":[ , ]
  }
4. 사용자 근처 데이터 보기

  goodsModel.find( {
     'location': {
       $nearSphere: [
         parseFloat(   ),
         parseFloat(   )
       ],
       $maxDistance: 1000
     }
   } ).limit(10).skip(0).lean().exec();
요약: 이번 주요 공유 위치 인덱스의 사용법은 매우 실용적인 기능입니다. 데모는 그렇게 손잡이를 만들지 않았지만 주요 골격이 나왔습니다. 자유롭게 발휘할 수 있습니다. 감사합니다!
이상은 본문의 전체 내용입니다. 본고의 내용이 여러분의 학습이나 업무에 일정한 도움을 줄 수 있는 동시에 저희를 많이 지지해 주시기 바랍니다!

좋은 웹페이지 즐겨찾기