0

MongoDB を使用してタクシー予約サービスを設計しています。私のスキーマは次のようになります-

{
    "_id": {
        "$oid": "621ca96e2c7e7efcfba6ce34"
    },
    "registration_id": "Id1",
    "location": [{
        "$numberDouble": "13.197827893722762"
    }, {
        "$numberDouble": "77.70575957707639"
    }]
}

ここで、場所は Point GeoJson データ型です。

顧客の場所に基づいて、要求があったときに最寄りのタクシーを提供する必要があります。同じために $near クエリを使用しています。

query = {"location": { "$near": { "$geometry": { "type": "Point", "coordinates": [event['longitude'], event['latitude']] }}}}

ただし、4 つの座標で定義された特定のエリアに属するタクシーのみを提供する必要があります。

領域によって定義されたポイントを提供する $geowithin を使用すると、並べ替えられた結果が得られません。上記のように $near を使用すると、領域を制限できません。

これを達成するためのエレガントな方法は何ですか?

4

1 に答える 1