2017-10-11 5 views
0

私はイベントアプリケーションを構築していて、特定の日付にすべてのイベントを取得し、その場所で私に並べ替えたいと考えています。どのようにこのようなリクエストを実装するのですか?これは、スキーマの外観です:MongoDB日別照会と距離で並べ替え

$ nearを使用して場所を照会することができますが、私はこれを実行することができました。しかし、最初に "start_time"をクエリしてから、その日付のイベントを私の距離まで並べ替えたいと思います。任意の提案は非常にありがたくあります;)

答えて

0

私はそれがこのクエリで動作するように得ることができた:

{ 
    location: { 
     $near : { 
     $geometry: { type: "Point", coordinates: [longitude,latitude] 
     }, 
     $maxDistance: 10000 
     } 
    }, 
    $and: [ 
     { start_time : {$gte: now, $lt: tomorrow} } 
    ] 
} 
1

パイプライン演算子の$geoNearを使用してください。ドキュメントが、指定したポイントに近い順にを返します。 $geoNearには、呼び出し中のqueryオプションを使用して、start_time(または任意のクエリ式)にルックアップをさらに制約するよう指示できます。詳細はこちら: https://docs.mongodb.com/manual/reference/operator/aggregation/geoNear/

+0

おかげで、これは私の小さな例えば複雑に少しだった私はそれが$とオペレータに動作するようになったとねじれ"ソート"少し。とにかく、ありがとう –

関連する問題